Matomo核心-段

本指南适用于核心开发者。相关文档:

实时vs存档片段

当段的浏览器存档被启用时,当创建或编辑段时,段可以被配置为“实时”或“在后台存档”。

  • 实时:表示查看报表时,报表正在处理/生成/存档。这通常比较慢,但在流量不大,或者很少查看报表,或者有很多段时效果很好,否则定期归档报表会在服务器上造成太多的负载和存储。
  • 在后台存档:表示该段将被cronjob归档到后台。

当浏览器存档被禁用时,默认情况下,在查看报表时仍然可以实时处理片段,除非您设置了以下配置设置:

(一般)browser_archiving_disabled_enforce = 1

当设置此值时,无论如何配置,所有段都将只在后台存档。

是否正在实时处理的段存储在auto_archive的列表格当值为0然后它被配置为实时的。

段档案和段散列的存储

段报告也像其他报告一样存储在存档表中。然而,完成标记在数值或无效存档表中有一个段散列附加,看起来像这样:donefea44bece172bc9696ae57c26888bf8adonefea44bece172bc9696ae57c26888bf8a。VisitsSummary对于特定的插件。

段哈希计算为段定义上的md5哈希。例如$segmentHash = md5('actions>1')

我如何得到正确的段哈希为一个段?

执行SegmentEditor.getAllAPI方法,因为这应该包括预期的段散列。

段是如何在API中编码的?

段通常被编码三次:

这意味着需要对值进行三重编码,以便在段中正确使用加号等值。有关详细信息,请参阅# 13481

我如何知道一个段是否对所有站点可用?

一个段可以对一个站点可用(例如enable_only_idsite = 1)或所有站点,在这种情况下,列值为enable_only_idsite0(零)。

创建一个段实例

$segment = new Piwik\ segment ($definition, $idSites);

你需要使用urlencode(定义)如果段来自Table或fromSegmentEditor.getAll.方法中使用之前,应该对其进行编码类。如果在创建对象之前传递了大量的字符串,那么就很难弄清楚用什么了。参考资料见# 17029

Baidu