元数据
编辑元数据编辑
元数据可以丰富您的事件,使应用程序性能监控更加有用。让我们探索 Elastic APM 提供的不同类型的元数据。
标签编辑
标签为事务、跨度和错误添加 索引 信息。索引意味着数据在 Elasticsearch 中是可搜索和可聚合的。添加额外的键值对以定义多个标签。
标签值可以是字符串、布尔值或数字,尽管某些代理目前仅支持字符串值。由于给定键的标签(无论使用哪个代理)都存储在 Elasticsearch 中的同一位置,因此给定键的所有标签值必须具有相同的数据类型。每个键的多个数据类型将引发异常,例如:{foo: bar}
和 {foo: 42}
不允许。
避免定义太多用户指定的标签。在索引中定义太多唯一字段会导致 映射爆炸。
代理 API 参考编辑
- Go:
SetLabel
- Java:
setLabel
- .NET:
Labels
- Node.js:
setLabel
|addLabels
- PHP:
Transaction
setLabel
|Span
setLabel
- Python:
elasticapm.label()
- Ruby:
set_label
- Rum:
addLabels
自定义上下文编辑
自定义上下文为事务和错误添加 非索引 的自定义上下文信息。非索引意味着数据在 Elasticsearch 中不可搜索或不可聚合,您无法在数据之上构建仪表板。这也意味着您不必担心 映射爆炸,因为这些字段不会添加到映射中。
非索引信息对于提供上下文信息以帮助您快速调试性能问题或错误很有用。
设置循环对象、大型对象或非 JSON 可序列化对象会导致错误。
代理 API 参考编辑
- Go:
SetCustom
- iOS:即将推出
- Java:
addCustomContext
- .NET:即将推出
- Node.js:
setCustomContext
- PHP:即将推出
- Python:
set_custom_context
- Ruby:
set_custom_context
- Rum:
setCustomContext
用户上下文编辑
用户上下文为事务和错误添加 索引 的用户信息。索引意味着数据在 Elasticsearch 中是可搜索和可聚合的。
代理 API 参考编辑
- Go:
SetUsername
|SetUserID
|SetUserEmail
- iOS:即将推出
- Java:
setUser
- .NET 即将推出
- Node.js:
setUserContext
- PHP:即将推出
- Python:
set_user_context
- Ruby:
set_user
- Rum:
setUserContext