自定义页面加载事务名称
编辑自定义页面加载事务名称
编辑一种常见的命名事务模式是使用当前 URL(window.location.href
)。但是,这会创建太多唯一的事务(博客标题、查询字符串等),在 Kibana APM UI 中可视化跟踪时效率较低。
为了克服这个问题,代理根据当前 URL 对页面加载事务进行分组。让我们来看下面的例子
// Blog Posts - '/blog/:id' https://elastic.ac.cn/blog/reflections-on-three-years-in-the-elastic-public-sector https://elastic.ac.cn/blog/say-heya-to-the-elastic-search-awards https://elastic.ac.cn/blog/and-the-winner-of-the-elasticon-2018-training-subscription-drawing-is // Documentation - '/guide/en/*' https://elastic.ac.cn/guide/en/elastic-stack/current/index.html https://elastic.ac.cn/guide/en/apm/get-started/current/index.html https://elastic.ac.cn/guide/en/infrastructure/guide/current/index.html
代理会自动推断上面 URL 的页面加载事务名称,并将其分类为 /blog/:id
和 /guide/en/*
。代理中的分组逻辑通过递归遍历 URL 路径树直到深度为 2,并根据路径中数字、特殊字符以及大小写字符的混合情况,将其转换为通配符或slug匹配。该算法使用从 URL 中常见模式推导出的启发式方法,因此在某些情况下可能无法正确识别匹配项。
如果推断出的事务名称没有帮助,请将pageLoadTransactionName
配置设置为更有意义的内容,以便将事务分组到相同的类别(博客、指南等)下,并尽量避免使用完整的 URL。
import {apm} from '@elastic/apm-rum' apm.init({ serviceName: "service-name", pageLoadTransactionName: '/homepage' })