@documentation-robotics/cli 0.1.13 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -2
- package/dist/analysis/relationship-classifier.js +2 -9
- package/dist/analysis/relationship-classifier.js.map +2 -2
- package/dist/analyzers/call-graph-utils.js +2 -2
- package/dist/analyzers/call-graph-utils.js.map +2 -2
- package/dist/analyzers/cards/build.js +171 -0
- package/dist/analyzers/cards/build.js.map +7 -0
- package/dist/analyzers/cards/classify.js +42 -0
- package/dist/analyzers/cards/classify.js.map +7 -0
- package/dist/analyzers/cards/edge-index.js +44 -0
- package/dist/analyzers/cards/edge-index.js.map +7 -0
- package/dist/analyzers/cards/facts.js +46 -0
- package/dist/analyzers/cards/facts.js.map +7 -0
- package/dist/analyzers/cards/graph.js +42 -0
- package/dist/analyzers/cards/graph.js.map +7 -0
- package/dist/analyzers/cards/index.js +8 -0
- package/dist/analyzers/cards/index.js.map +7 -0
- package/dist/analyzers/cards/tier0.js +18 -0
- package/dist/analyzers/cards/tier0.js.map +7 -0
- package/dist/analyzers/cards/types.js +1 -0
- package/dist/analyzers/cards/types.js.map +7 -0
- package/dist/analyzers/cbm-analyzer.js +195 -171
- package/dist/analyzers/cbm-analyzer.js.map +2 -2
- package/dist/analyzers/cbm-responses.js +336 -0
- package/dist/analyzers/cbm-responses.js.map +7 -0
- package/dist/analyzers/edge-relationships.js +45 -0
- package/dist/analyzers/edge-relationships.js.map +7 -0
- package/dist/analyzers/mapping-loader.js +9 -0
- package/dist/analyzers/mapping-loader.js.map +2 -2
- package/dist/analyzers/tier0-rules.js +153 -0
- package/dist/analyzers/tier0-rules.js.map +7 -0
- package/dist/analyzers/types.js.map +1 -1
- package/dist/analyzers/verify-engine.js +22 -19
- package/dist/analyzers/verify-engine.js.map +2 -2
- package/dist/audit/relationships/ai/prompts.js +10 -10
- package/dist/audit/relationships/ai/prompts.js.map +2 -2
- package/dist/audit/relationships/analysis/layer-templates.js +52 -52
- package/dist/audit/relationships/analysis/layer-templates.js.map +1 -1
- package/dist/cli.js +112 -28
- package/dist/cli.js.map +3 -3
- package/dist/coding-agents/agents/claude-code.js +3 -1
- package/dist/coding-agents/agents/claude-code.js.map +2 -2
- package/dist/coding-agents/claude-code-client.js +2 -1
- package/dist/coding-agents/claude-code-client.js.map +2 -2
- package/dist/coding-agents/copilot-client.js +17 -12
- package/dist/coding-agents/copilot-client.js.map +2 -2
- package/dist/coding-agents/default-permissions.js +152 -0
- package/dist/coding-agents/default-permissions.js.map +7 -0
- package/dist/coding-agents/drbot-mcp.js +167 -0
- package/dist/coding-agents/drbot-mcp.js.map +7 -0
- package/dist/commands/add.js +12 -7
- package/dist/commands/add.js.map +2 -2
- package/dist/commands/analyzer.js +134 -23
- package/dist/commands/analyzer.js.map +2 -2
- package/dist/commands/audit.js +6 -6
- package/dist/commands/audit.js.map +2 -2
- package/dist/commands/changeset-verify.js +55 -0
- package/dist/commands/changeset-verify.js.map +7 -0
- package/dist/commands/changeset.js +261 -147
- package/dist/commands/changeset.js.map +2 -2
- package/dist/commands/delete.js +52 -19
- package/dist/commands/delete.js.map +3 -3
- package/dist/commands/element.js +3 -2
- package/dist/commands/element.js.map +2 -2
- package/dist/commands/farm.js +773 -0
- package/dist/commands/farm.js.map +7 -0
- package/dist/commands/init.js +11 -1
- package/dist/commands/init.js.map +2 -2
- package/dist/commands/mcp.js +122 -0
- package/dist/commands/mcp.js.map +7 -0
- package/dist/commands/relationship.js +251 -47
- package/dist/commands/relationship.js.map +2 -2
- package/dist/commands/reports.js +1 -1
- package/dist/commands/reports.js.map +2 -2
- package/dist/commands/update.js +56 -24
- package/dist/commands/update.js.map +2 -2
- package/dist/commands/upgrade.js +99 -11
- package/dist/commands/upgrade.js.map +3 -3
- package/dist/commands/validate.js +41 -3
- package/dist/commands/validate.js.map +2 -2
- package/dist/commands/version.js +2 -2
- package/dist/commands/version.js.map +2 -2
- package/dist/commands/visualize.js +4 -3
- package/dist/commands/visualize.js.map +2 -2
- package/dist/config.js +83 -0
- package/dist/config.js.map +7 -0
- package/dist/core/annotation-store.js +138 -0
- package/dist/core/annotation-store.js.map +7 -0
- package/dist/core/catalog-migration.js +33 -0
- package/dist/core/catalog-migration.js.map +7 -0
- package/dist/core/changeset-analysis.js +421 -0
- package/dist/core/changeset-analysis.js.map +7 -0
- package/dist/core/changeset-base-index.js +153 -0
- package/dist/core/changeset-base-index.js.map +7 -0
- package/dist/core/changeset-brief-delta.js +102 -0
- package/dist/core/changeset-brief-delta.js.map +7 -0
- package/dist/core/changeset-graph.js +281 -0
- package/dist/core/changeset-graph.js.map +7 -0
- package/dist/core/changeset-only-guard.js +32 -0
- package/dist/core/changeset-only-guard.js.map +7 -0
- package/dist/core/changeset-summary.js +68 -0
- package/dist/core/changeset-summary.js.map +7 -0
- package/dist/core/changeset-validator.js +66 -20
- package/dist/core/changeset-validator.js.map +2 -2
- package/dist/core/changeset-verify.js +518 -0
- package/dist/core/changeset-verify.js.map +7 -0
- package/dist/core/changeset.js +56 -9
- package/dist/core/changeset.js.map +2 -2
- package/dist/core/element-type-migration.js +145 -0
- package/dist/core/element-type-migration.js.map +7 -0
- package/dist/core/farm-manifest.js +140 -0
- package/dist/core/farm-manifest.js.map +7 -0
- package/dist/core/farm-sync-engine.js +346 -0
- package/dist/core/farm-sync-engine.js.map +7 -0
- package/dist/core/farm-sync-state.js +167 -0
- package/dist/core/farm-sync-state.js.map +7 -0
- package/dist/core/manifest.js +6 -3
- package/dist/core/manifest.js.map +2 -2
- package/dist/core/migration-registry.js +84 -1
- package/dist/core/migration-registry.js.map +2 -2
- package/dist/core/model-upgrade.js +102 -0
- package/dist/core/model-upgrade.js.map +7 -0
- package/dist/core/model.js +257 -44
- package/dist/core/model.js.map +3 -3
- package/dist/core/mutation-handler.js +71 -6
- package/dist/core/mutation-handler.js.map +2 -2
- package/dist/core/relationship-migration-table.js +6639 -0
- package/dist/core/relationship-migration-table.js.map +7 -0
- package/dist/core/relationship-migration.js +272 -0
- package/dist/core/relationship-migration.js.map +7 -0
- package/dist/core/relationship-prune.js +49 -0
- package/dist/core/relationship-prune.js.map +7 -0
- package/dist/core/relationship-staging.js +68 -0
- package/dist/core/relationship-staging.js.map +7 -0
- package/dist/core/relationships.js +26 -4
- package/dist/core/relationships.js.map +2 -2
- package/dist/core/report-data-model.js +7 -13
- package/dist/core/report-data-model.js.map +2 -2
- package/dist/core/staged-changeset-storage.js +64 -17
- package/dist/core/staged-changeset-storage.js.map +2 -2
- package/dist/core/staged-source-reference.js +28 -0
- package/dist/core/staged-source-reference.js.map +7 -0
- package/dist/core/staging-area.js +83 -18
- package/dist/core/staging-area.js.map +2 -2
- package/dist/core/virtual-projection.js +14 -5
- package/dist/core/virtual-projection.js.map +2 -2
- package/dist/export/archimate-exporter.js +1 -0
- package/dist/export/archimate-exporter.js.map +2 -2
- package/dist/generated/compiled-validators.js +2 -2
- package/dist/generated/compiled-validators.js.map +2 -2
- package/dist/generated/layer-registry.js +16 -16
- package/dist/generated/layer-registry.js.map +2 -2
- package/dist/generated/node-types.js +186 -168
- package/dist/generated/node-types.js.map +2 -2
- package/dist/generated/relationship-index.js +2209 -7727
- package/dist/generated/relationship-index.js.map +2 -2
- package/dist/integrations/claude_code/agents/dr-architect.md +16 -3
- package/dist/integrations/claude_code/agents/dr-extractor.md +1 -1
- package/dist/integrations/claude_code/commands/dr-analyzer.md +565 -0
- package/dist/integrations/claude_code/commands/dr-map.md +13 -0
- package/dist/integrations/claude_code/commands/dr-plan.md +40 -0
- package/dist/integrations/claude_code/commands/dr-relate.md +106 -96
- package/dist/integrations/claude_code/commands/dr-verify.md +45 -2
- package/dist/integrations/claude_code/docs/END_TO_END_WALKTHROUGH.md +14 -0
- package/dist/integrations/claude_code/docs/MCP_SERVER.md +79 -0
- package/dist/integrations/claude_code/docs/QUICK_START.md +37 -8
- package/dist/integrations/claude_code/docs/README.md +52 -1
- package/dist/integrations/claude_code/skills/dr_01_motivation_layer/SKILL.md +93 -72
- package/dist/integrations/claude_code/skills/dr_02_business_layer/SKILL.md +163 -126
- package/dist/integrations/claude_code/skills/dr_03_product_layer/SKILL.md +161 -126
- package/dist/integrations/claude_code/skills/dr_04_security_layer/SKILL.md +153 -133
- package/dist/integrations/claude_code/skills/dr_05_application_layer/SKILL.md +129 -100
- package/dist/integrations/claude_code/skills/dr_06_technology_layer/SKILL.md +111 -94
- package/dist/integrations/claude_code/skills/dr_07_api_layer/SKILL.md +143 -157
- package/dist/integrations/claude_code/skills/dr_08_data_model_layer/SKILL.md +117 -33
- package/dist/integrations/claude_code/skills/dr_09_dataset_layer/SKILL.md +74 -25
- package/dist/integrations/claude_code/skills/dr_10_ux_layer/SKILL.md +88 -12
- package/dist/integrations/claude_code/skills/dr_11_navigation_layer/SKILL.md +83 -24
- package/dist/integrations/claude_code/skills/dr_12_apm_layer/SKILL.md +57 -12
- package/dist/integrations/claude_code/skills/dr_13_testing_layer/SKILL.md +92 -15
- package/dist/integrations/claude_code/skills/dr_change_planning/SKILL.md +119 -0
- package/dist/integrations/claude_code/skills/dr_changeset_reviewer/SKILL.md +3 -0
- package/dist/integrations/claude_code/skills/dr_engineering_guide/SKILL.md +1 -1
- package/dist/integrations/github_copilot/agents/dr-architect.md +1 -1
- package/dist/integrations/github_copilot/skills/dr_01_motivation_layer/SKILL.md +182 -102
- package/dist/integrations/github_copilot/skills/dr_02_business_layer/SKILL.md +266 -148
- package/dist/integrations/github_copilot/skills/dr_03_product_layer/SKILL.md +547 -86
- package/dist/integrations/github_copilot/skills/dr_04_security_layer/SKILL.md +164 -169
- package/dist/integrations/github_copilot/skills/dr_05_application_layer/SKILL.md +420 -150
- package/dist/integrations/github_copilot/skills/dr_06_technology_layer/SKILL.md +331 -138
- package/dist/integrations/github_copilot/skills/dr_07_api_layer/SKILL.md +265 -201
- package/dist/integrations/github_copilot/skills/dr_08_data_model_layer/SKILL.md +181 -58
- package/dist/integrations/github_copilot/skills/dr_09_dataset_layer/SKILL.md +209 -57
- package/dist/integrations/github_copilot/skills/dr_10_ux_layer/SKILL.md +277 -112
- package/dist/integrations/github_copilot/skills/dr_11_navigation_layer/SKILL.md +219 -70
- package/dist/integrations/github_copilot/skills/dr_12_apm_layer/SKILL.md +189 -105
- package/dist/integrations/github_copilot/skills/dr_13_testing_layer/SKILL.md +222 -102
- package/dist/integrations/github_copilot/skills/dr_change_planning/SKILL.md +119 -0
- package/dist/integrations/github_copilot/skills/dr_changeset_reviewer/SKILL.md +3 -0
- package/dist/integrations/hash-utils.js.map +2 -2
- package/dist/mcp/api-key-manager.js +111 -0
- package/dist/mcp/api-key-manager.js.map +7 -0
- package/dist/mcp/changeset-only.js +34 -0
- package/dist/mcp/changeset-only.js.map +7 -0
- package/dist/mcp/http-transport.js +176 -0
- package/dist/mcp/http-transport.js.map +7 -0
- package/dist/mcp/resource-registry.js +97 -0
- package/dist/mcp/resource-registry.js.map +7 -0
- package/dist/mcp/tool-registry.js +60 -0
- package/dist/mcp/tool-registry.js.map +7 -0
- package/dist/mcp/tools/annotation-create.js +39 -0
- package/dist/mcp/tools/annotation-create.js.map +7 -0
- package/dist/mcp/tools/annotation-delete.js +29 -0
- package/dist/mcp/tools/annotation-delete.js.map +7 -0
- package/dist/mcp/tools/annotation-get.js +29 -0
- package/dist/mcp/tools/annotation-get.js.map +7 -0
- package/dist/mcp/tools/annotation-list.js +24 -0
- package/dist/mcp/tools/annotation-list.js.map +7 -0
- package/dist/mcp/tools/annotation-reply.js +34 -0
- package/dist/mcp/tools/annotation-reply.js.map +7 -0
- package/dist/mcp/tools/annotation-shared.js +10 -0
- package/dist/mcp/tools/annotation-shared.js.map +7 -0
- package/dist/mcp/tools/annotation-update.js +39 -0
- package/dist/mcp/tools/annotation-update.js.map +7 -0
- package/dist/mcp/tools/changeset-analysis-tools.js +78 -0
- package/dist/mcp/tools/changeset-analysis-tools.js.map +7 -0
- package/dist/mcp/tools/changeset-editing.js +184 -0
- package/dist/mcp/tools/changeset-editing.js.map +7 -0
- package/dist/mcp/tools/changeset-lifecycle.js +83 -0
- package/dist/mcp/tools/changeset-lifecycle.js.map +7 -0
- package/dist/mcp/tools/changeset-list.js +33 -0
- package/dist/mcp/tools/changeset-list.js.map +7 -0
- package/dist/mcp/tools/changeset-shared.js +31 -0
- package/dist/mcp/tools/changeset-shared.js.map +7 -0
- package/dist/mcp/tools/changeset-show.js +55 -0
- package/dist/mcp/tools/changeset-show.js.map +7 -0
- package/dist/mcp/tools/changeset-verify.js +43 -0
- package/dist/mcp/tools/changeset-verify.js.map +7 -0
- package/dist/mcp/tools/chat-launch.js +50 -0
- package/dist/mcp/tools/chat-launch.js.map +7 -0
- package/dist/mcp/tools/chat-status.js +26 -0
- package/dist/mcp/tools/chat-status.js.map +7 -0
- package/dist/mcp/tools/index.js +65 -0
- package/dist/mcp/tools/index.js.map +7 -0
- package/dist/mcp/tools/model-add.js +107 -0
- package/dist/mcp/tools/model-add.js.map +7 -0
- package/dist/mcp/tools/model-delete.js +99 -0
- package/dist/mcp/tools/model-delete.js.map +7 -0
- package/dist/mcp/tools/model-export.js +72 -0
- package/dist/mcp/tools/model-export.js.map +7 -0
- package/dist/mcp/tools/model-info.js +51 -0
- package/dist/mcp/tools/model-info.js.map +7 -0
- package/dist/mcp/tools/model-list.js +53 -0
- package/dist/mcp/tools/model-list.js.map +7 -0
- package/dist/mcp/tools/model-reload.js +34 -0
- package/dist/mcp/tools/model-reload.js.map +7 -0
- package/dist/mcp/tools/model-search.js +102 -0
- package/dist/mcp/tools/model-search.js.map +7 -0
- package/dist/mcp/tools/model-show.js +68 -0
- package/dist/mcp/tools/model-show.js.map +7 -0
- package/dist/mcp/tools/model-stats.js +22 -0
- package/dist/mcp/tools/model-stats.js.map +7 -0
- package/dist/mcp/tools/model-trace.js +118 -0
- package/dist/mcp/tools/model-trace.js.map +7 -0
- package/dist/mcp/tools/model-update.js +121 -0
- package/dist/mcp/tools/model-update.js.map +7 -0
- package/dist/mcp/tools/model-validate.js +78 -0
- package/dist/mcp/tools/model-validate.js.map +7 -0
- package/dist/mcp/tools/relationship-tools.js +98 -0
- package/dist/mcp/tools/relationship-tools.js.map +7 -0
- package/dist/mcp/tools/shared.js +126 -0
- package/dist/mcp/tools/shared.js.map +7 -0
- package/dist/mcp/tools/spec-type.js +90 -0
- package/dist/mcp/tools/spec-type.js.map +7 -0
- package/dist/reports/model-layer-report-generator.js +5 -3
- package/dist/reports/model-layer-report-generator.js.map +2 -2
- package/dist/reports/model-readme-generator.js +116 -0
- package/dist/reports/model-readme-generator.js.map +7 -0
- package/dist/reports/model-report-data.js +37 -1
- package/dist/reports/model-report-data.js.map +2 -2
- package/dist/reports/model-report-orchestrator.js +29 -6
- package/dist/reports/model-report-orchestrator.js.map +2 -2
- package/dist/reports/model-report-utils.js +9 -0
- package/dist/reports/model-report-utils.js.map +7 -0
- package/dist/schemas/bundled/analyzers/cbm.json +1186 -68
- package/dist/schemas/bundled/analyzers/manifest.json +2 -2
- package/dist/schemas/bundled/api.json +1029 -1658
- package/dist/schemas/bundled/apm.json +499 -734
- package/dist/schemas/bundled/application.json +745 -370
- package/dist/schemas/bundled/base.json +3 -220
- package/dist/schemas/bundled/business.json +452 -366
- package/dist/schemas/bundled/data-model.json +403 -383
- package/dist/schemas/bundled/data-store.json +334 -558
- package/dist/schemas/bundled/manifest.json +18 -18
- package/dist/schemas/bundled/motivation.json +349 -368
- package/dist/schemas/bundled/navigation.json +415 -731
- package/dist/schemas/bundled/product.json +325 -159
- package/dist/schemas/bundled/security.json +864 -1232
- package/dist/schemas/bundled/technology.json +574 -703
- package/dist/schemas/bundled/testing.json +718 -1643
- package/dist/schemas/bundled/ux.json +739 -1352
- package/dist/server/schemas.js +8 -0
- package/dist/server/schemas.js.map +2 -2
- package/dist/server/server.js +234 -31
- package/dist/server/server.js.map +2 -2
- package/dist/server-entry.js +2 -1
- package/dist/server-entry.js.map +2 -2
- package/dist/telemetry/config.js +2 -40
- package/dist/telemetry/config.js.map +2 -2
- package/dist/telemetry/index.js +1 -1
- package/dist/types/index.js.map +2 -2
- package/dist/utils/ansi-suppressor.js +23 -0
- package/dist/utils/ansi-suppressor.js.map +7 -0
- package/dist/utils/attribute-patch.js +41 -0
- package/dist/utils/attribute-patch.js.map +7 -0
- package/dist/utils/color-utils.js +34 -0
- package/dist/utils/color-utils.js.map +7 -0
- package/dist/utils/element-reference-shape.js +15 -1
- package/dist/utils/element-reference-shape.js.map +3 -3
- package/dist/utils/error-hints.js +29 -0
- package/dist/utils/error-hints.js.map +7 -0
- package/dist/utils/errors.js +75 -10
- package/dist/utils/errors.js.map +2 -2
- package/dist/utils/globals.js +17 -1
- package/dist/utils/globals.js.map +2 -2
- package/dist/utils/project-paths.js +50 -3
- package/dist/utils/project-paths.js.map +2 -2
- package/dist/utils/reference-path-parser.js +49 -0
- package/dist/utils/reference-path-parser.js.map +7 -0
- package/dist/utils/source-reference.js +17 -10
- package/dist/utils/source-reference.js.map +2 -2
- package/dist/utils/spec-version.js +10 -2
- package/dist/utils/spec-version.js.map +2 -2
- package/dist/validators/composed-reference-validator.js +240 -0
- package/dist/validators/composed-reference-validator.js.map +7 -0
- package/dist/validators/reference-validator.js +57 -13
- package/dist/validators/reference-validator.js.map +3 -3
- package/dist/validators/relationship-schema-validator.js +33 -5
- package/dist/validators/relationship-schema-validator.js.map +3 -3
- package/dist/validators/schema-validator.js +27 -9
- package/dist/validators/schema-validator.js.map +2 -2
- package/dist/validators/types.js.map +1 -1
- package/dist/viewer/README.md +6 -6
- package/dist/viewer/assets/main-CxzcuU_o.js +84 -0
- package/dist/viewer/assets/main-j-7ULYpm.css +1 -0
- package/dist/viewer/index.html +2 -2
- package/dist/viewer/manifest.json +10 -10
- package/dist/viewer/version.json +1 -1
- package/package.json +7 -3
- package/dist/viewer/assets/main-B7AOQXXX.js +0 -81
- package/dist/viewer/assets/main-vdrFrG7q.css +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"specVersion": "0.
|
|
2
|
+
"specVersion": "0.11.0",
|
|
3
3
|
"layer": {
|
|
4
4
|
"id": "apm",
|
|
5
5
|
"number": 12,
|
|
6
6
|
"name": "APM Observability Layer",
|
|
7
|
-
"description": "
|
|
7
|
+
"description": "Defines how the system is observed in operation: instrumentation and telemetry configuration, metrics, spans and traces, logs, alerts, dashboards and service-level objectives, with the resources and attributes that describe them (OpenTelemetry 1.0). Logging, metrics and tracing code, exporters and alerting rules are evidence for elements here. Modelling rules: a resource identifies the producing entity: it aggregates the instrumentation scopes running in it, maps to the application component it describes and references its node and system software. A scope aggregates the spans, metric instruments and log records emitted under it, which inherit the resource through it; a span composes its events and aggregates its links. Trace, metric and log configurations (providers) depend on the resource they are built with and aggregate their processors and exporters; they configure telemetry and do not emit, serve or monitor it. An instrumentation configuration monitors the library or code it instruments and references the scope it emits under. Each signal flows through its own processors to exporters, and an exporter accesses the storage it writes to and is served by the technology service it sends to; signals of different kinds are correlated by references (a log record to its span, a metric's exemplars to spans, a span link to its span), not by flow. Only signals and instrumentation configurations monitor elements in other layers; alerts and dashboards monitor signals, and a dashboard references the alerts it shows. Telemetry reaches the business layer only through business KPIs, metric instruments that monitor business processes and services; a metric that tracks an outcome measures it, and telemetry satisfies requirements and constraints.",
|
|
8
8
|
"inspired_by": {
|
|
9
9
|
"standard": "OpenTelemetry",
|
|
10
10
|
"version": "1.0",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"alert": {
|
|
33
33
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
34
34
|
"title": "Alert",
|
|
35
|
-
"description": "A
|
|
35
|
+
"description": "A declarative rule configured in a monitoring backend that evaluates a threshold or query expression over telemetry (metrics, spans, logs) at a recurring interval and sends a notification to one or more destinations when the expression holds. It is the persisted rule definition, not a single firing or incident instance. Use Dashboard instead when the artifact only visualizes signals in panels and has no triggering condition or notification routing of its own. Use MetricInstrument instead when the symbol defines the measured quantity itself (a Counter, Histogram or Gauge created via a Meter) rather than a rule that evaluates that quantity. Use LogRecord instead when the thing is a single emitted event or log entry, including a record of an alert having fired, rather than the standing rule that decides when to fire. Use LogConfiguration instead when the severity threshold only filters which log records the SDK emits, rather than triggering a notification when a condition over signals is met.",
|
|
36
36
|
"allOf": [
|
|
37
37
|
{
|
|
38
38
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -80,12 +80,23 @@
|
|
|
80
80
|
"additionalProperties": false
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
|
+
"x-dr-evidence": [
|
|
84
|
+
"A Prometheus rules YAML file with a groups[].rules[] entry that has an 'alert:' name, an 'expr:' PromQL condition, an optional 'for:' duration and a 'labels.severity' value",
|
|
85
|
+
"An infrastructure-as-code resource such as Terraform 'datadog_monitor', 'grafana_rule_group', 'newrelic_alert_condition' or 'aws_cloudwatch_metric_alarm' (or CloudFormation AWS::CloudWatch::Alarm) that declares a query or threshold and notification targets",
|
|
86
|
+
"An Alertmanager or Grafana contact-point/route configuration, or a monitor JSON export, that binds a named rule to Slack, PagerDuty or email receivers"
|
|
87
|
+
],
|
|
88
|
+
"x-dr-distinguish": {
|
|
89
|
+
"apm.dashboard": "the artifact only visualizes signals in panels and has no triggering condition or notification routing of its own",
|
|
90
|
+
"apm.metricinstrument": "the symbol defines the measured quantity itself (a Counter, Histogram or Gauge created via a Meter) rather than a rule that evaluates that quantity",
|
|
91
|
+
"apm.logrecord": "the thing is a single emitted event or log entry, including a record of an alert having fired, rather than the standing rule that decides when to fire",
|
|
92
|
+
"apm.logconfiguration": "the severity threshold only filters which log records the SDK emits, rather than triggering a notification when a condition over signals is met"
|
|
93
|
+
},
|
|
83
94
|
"$id": "urn:dr:spec:node:apm.alert"
|
|
84
95
|
},
|
|
85
96
|
"dashboard": {
|
|
86
97
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
87
98
|
"title": "Dashboard",
|
|
88
|
-
"description": "A
|
|
99
|
+
"description": "A persisted monitoring-platform view definition that arranges one or more visualization panels, each querying metrics, traces, logs or alert state, into a single named page for human inspection. It is the definition of the view (e.g., Grafana dashboard JSON, Datadog dashboard resource), not the underlying signals or the queries' alerting logic. Use Alert instead when the artifact evaluates a condition on a schedule and sends notifications, even if it is defined in the same platform or shown on a dashboard panel. Use MetricInstrument instead when the code creates or records a measurement (Counter, Histogram, Gauge) rather than displaying or querying one. Use ExporterConfig instead when the configuration sends telemetry to a backend (endpoint, protocol, auth) rather than defining how that backend visualizes it.",
|
|
89
100
|
"allOf": [
|
|
90
101
|
{
|
|
91
102
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -159,12 +170,22 @@
|
|
|
159
170
|
"additionalProperties": false
|
|
160
171
|
}
|
|
161
172
|
},
|
|
173
|
+
"x-dr-evidence": [
|
|
174
|
+
"a Grafana dashboard JSON file (with 'panels', 'targets' and 'templating' keys) under a dashboards/ or provisioning/ directory, or a grafana-dashboard ConfigMap in Kubernetes manifests",
|
|
175
|
+
"an infrastructure-as-code resource such as Terraform 'datadog_dashboard', 'grafana_dashboard', 'aws_cloudwatch_dashboard' or 'newrelic_one_dashboard' containing widget definitions",
|
|
176
|
+
"a dashboard-as-code module (e.g., grafonnet/Jsonnet, grafanalib Python, CDK Dashboard construct) that builds panels with PromQL, LogQL or trace queries"
|
|
177
|
+
],
|
|
178
|
+
"x-dr-distinguish": {
|
|
179
|
+
"apm.alert": "the artifact evaluates a condition on a schedule and sends notifications, even if it is defined in the same platform or shown on a dashboard panel.",
|
|
180
|
+
"apm.metricinstrument": "the code creates or records a measurement (Counter, Histogram, Gauge) rather than displaying or querying one.",
|
|
181
|
+
"apm.exporterconfig": "the configuration sends telemetry to a backend (endpoint, protocol, auth) rather than defining how that backend visualizes it."
|
|
182
|
+
},
|
|
162
183
|
"$id": "urn:dr:spec:node:apm.dashboard"
|
|
163
184
|
},
|
|
164
185
|
"exporterconfig": {
|
|
165
186
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
166
187
|
"title": "ExporterConfig",
|
|
167
|
-
"description": "
|
|
188
|
+
"description": "A telemetry export configuration that binds one OpenTelemetry exporter (SpanExporter, MetricExporter/pull reader, or LogRecordExporter, or an OTel Collector exporter) to a concrete destination, specifying the exporter kind, endpoint, wire protocol, authentication and compression used to send or expose observability data outside the process. Use LogProcessor instead when the element filters, enriches, batches or routes log records before they reach an exporter, rather than defining the destination and transport itself. Use TraceConfiguration instead when the element is the TracerProvider setup (sampler, propagators, span processor pipeline) that merely registers an exporter, not the exporter's endpoint and transport settings. Use MetricConfiguration instead when the element sets MeterProvider-wide behaviour such as export interval, timeout, cardinality limits or exemplar filtering, rather than where and how metrics are delivered. Use LogConfiguration instead when the element configures the LoggerProvider pipeline and minimum severity, with the exporter only wired in as a component.",
|
|
168
189
|
"allOf": [
|
|
169
190
|
{
|
|
170
191
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -196,13 +217,16 @@
|
|
|
196
217
|
"description": "The type of exporter"
|
|
197
218
|
},
|
|
198
219
|
"enabled": {
|
|
199
|
-
"type": "boolean"
|
|
220
|
+
"type": "boolean",
|
|
221
|
+
"description": "Whether this exporter is active and receives telemetry; set to false to keep the configuration defined but disabled (e.g. per environment), defaulting to true when omitted."
|
|
200
222
|
},
|
|
201
223
|
"endpoint": {
|
|
202
|
-
"type": "string"
|
|
224
|
+
"type": "string",
|
|
225
|
+
"description": "URL or host:port of the export destination (e.g. 'http://otel-collector:4318/v1/traces' or 'collector:4317'); for pull-based exporters such as Prometheus it is the local listen address scraped by the backend, and for stdout/logging it may be 'stdout'."
|
|
203
226
|
},
|
|
204
227
|
"protocol": {
|
|
205
|
-
"type": "string"
|
|
228
|
+
"type": "string",
|
|
229
|
+
"description": "Wire transport and encoding used to deliver data, using OTel values 'grpc', 'http/protobuf' or 'http/json' for OTLP, or the exporter-native transport (e.g. 'thrift' for Jaeger); set whenever the exporter supports more than one protocol."
|
|
206
230
|
},
|
|
207
231
|
"authType": {
|
|
208
232
|
"type": "string",
|
|
@@ -219,12 +243,24 @@
|
|
|
219
243
|
"additionalProperties": false
|
|
220
244
|
}
|
|
221
245
|
},
|
|
246
|
+
"x-dr-standard": "OpenTelemetry SDK Specification: SpanExporter, MetricExporter and LogRecordExporter interfaces; OpenTelemetry Protocol Exporter configuration (OTEL_EXPORTER_OTLP_*)",
|
|
247
|
+
"x-dr-evidence": [
|
|
248
|
+
"Instantiation of an exporter class with destination options, e.g. new OTLPTraceExporter({ url, headers }), OTLPMetricExporter, JaegerExporter, ZipkinExporter, PrometheusExporter({ port }), or ConsoleSpanExporter.",
|
|
249
|
+
"Environment or deployment variables such as OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_PROTOCOL, OTEL_EXPORTER_OTLP_HEADERS, OTEL_EXPORTER_OTLP_COMPRESSION or OTEL_TRACES_EXPORTER in .env files, Helm values or Kubernetes manifests.",
|
|
250
|
+
"An 'exporters:' block in an OpenTelemetry Collector YAML config (e.g. otlp, otlphttp, prometheus, debug) with endpoint, tls and headers keys, referenced from a service pipeline."
|
|
251
|
+
],
|
|
252
|
+
"x-dr-distinguish": {
|
|
253
|
+
"apm.logprocessor": "the element filters, enriches, batches or routes log records before they reach an exporter, rather than defining the destination and transport itself.",
|
|
254
|
+
"apm.traceconfiguration": "the element is the TracerProvider setup (sampler, propagators, span processor pipeline) that merely registers an exporter, not the exporter's endpoint and transport settings.",
|
|
255
|
+
"apm.metricconfiguration": "the element sets MeterProvider-wide behaviour such as export interval, timeout, cardinality limits or exemplar filtering, rather than where and how metrics are delivered.",
|
|
256
|
+
"apm.logconfiguration": "the element configures the LoggerProvider pipeline and minimum severity, with the exporter only wired in as a component."
|
|
257
|
+
},
|
|
222
258
|
"$id": "urn:dr:spec:node:apm.exporterconfig"
|
|
223
259
|
},
|
|
224
260
|
"instrumentationconfig": {
|
|
225
261
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
226
262
|
"title": "InstrumentationConfig",
|
|
227
|
-
"description": "
|
|
263
|
+
"description": "A telemetry configuration entry that selects one instrumented library, framework or application code path and sets whether and how it is instrumented. This covers an auto-instrumentation plugin registered at SDK bootstrap, or a manual instrumentation site using the OTel Tracer/Meter/Logger API. It does not cover where telemetry is sent, how it is sampled, or which individual instruments are defined. Use InstrumentationScope instead when the element is the name/version/schemaUrl identity stamped on emitted telemetry (the tracer or meter name), not the setting that turns instrumentation of a library on or off. Use TraceConfiguration instead when the configuration governs TracerProvider-wide behaviour such as sampler, propagators or span processor pipeline rather than which library or code path is instrumented. Use ExporterConfig instead when the configuration specifies the destination, protocol, endpoint, authentication or compression for exported telemetry. Use MetricInstrument instead when the code creates a specific Counter, Histogram or Gauge with its own name and unit; that is an instrument produced by instrumentation, not the instrumentation setting itself.",
|
|
228
264
|
"allOf": [
|
|
229
265
|
{
|
|
230
266
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -244,17 +280,20 @@
|
|
|
244
280
|
"type": "object",
|
|
245
281
|
"properties": {
|
|
246
282
|
"type": {
|
|
247
|
-
"type": "string"
|
|
283
|
+
"type": "string",
|
|
284
|
+
"description": "Category of the instrumented target, as a short lowercase label such as 'http', 'database', 'messaging', 'rpc', 'framework' or 'runtime'; set it on every instance to group instrumentation by technology."
|
|
248
285
|
},
|
|
249
286
|
"libraryName": {
|
|
250
287
|
"type": "string",
|
|
251
288
|
"description": "OTel InstrumentationScope-compatible library name identifying the instrumented library or framework (e.g., 'io.opentelemetry.spring-webmvc-6.0'). Used to correlate this config with telemetry emitted under the matching InstrumentationScope."
|
|
252
289
|
},
|
|
253
290
|
"enabled": {
|
|
254
|
-
"type": "boolean"
|
|
291
|
+
"type": "boolean",
|
|
292
|
+
"description": "Whether this instrumentation is active at runtime. Treat it as true when absent, and set it to false when the library is explicitly disabled (e.g., OTEL_INSTRUMENTATION_FS_ENABLED=false)."
|
|
255
293
|
},
|
|
256
294
|
"description": {
|
|
257
|
-
"type": "string"
|
|
295
|
+
"type": "string",
|
|
296
|
+
"description": "Free-text explanation of what this instrumentation captures and any notable options applied, such as ignored routes or captured headers. Set it when the libraryName alone does not convey intent."
|
|
258
297
|
},
|
|
259
298
|
"instrumentationType": {
|
|
260
299
|
"type": "string",
|
|
@@ -266,12 +305,24 @@
|
|
|
266
305
|
"additionalProperties": false
|
|
267
306
|
}
|
|
268
307
|
},
|
|
308
|
+
"x-dr-standard": "OpenTelemetry Instrumentation Libraries and zero-code (automatic) instrumentation; OpenTelemetry declarative configuration 'instrumentation' section",
|
|
309
|
+
"x-dr-evidence": [
|
|
310
|
+
"A registerInstrumentations([...]) or getNodeAutoInstrumentations({...}) call listing plugins such as '@opentelemetry/instrumentation-http' with per-plugin enabled flags or options",
|
|
311
|
+
"Environment variables or agent flags such as OTEL_INSTRUMENTATION_<NAME>_ENABLED, OTEL_NODE_ENABLED_INSTRUMENTATIONS, OTEL_PYTHON_DISABLED_INSTRUMENTATIONS or -javaagent:opentelemetry-javaagent.jar in a Dockerfile, Helm values or startup script",
|
|
312
|
+
"An opentelemetry-instrumentation-* dependency invoked in code (e.g., FlaskInstrumentor().instrument_app(app)), or a wrapper module that calls trace.getTracer('<lib>') to manually instrument a specific code path"
|
|
313
|
+
],
|
|
314
|
+
"x-dr-distinguish": {
|
|
315
|
+
"apm.instrumentationscope": "the element is the name/version/schemaUrl identity stamped on emitted telemetry (the tracer or meter name), not the setting that turns instrumentation of a library on or off",
|
|
316
|
+
"apm.traceconfiguration": "the configuration governs TracerProvider-wide behaviour such as sampler, propagators or span processor pipeline rather than which library or code path is instrumented",
|
|
317
|
+
"apm.exporterconfig": "the configuration specifies the destination, protocol, endpoint, authentication or compression for exported telemetry",
|
|
318
|
+
"apm.metricinstrument": "the code creates a specific Counter, Histogram or Gauge with its own name and unit; that is an instrument produced by instrumentation, not the instrumentation setting itself"
|
|
319
|
+
},
|
|
269
320
|
"$id": "urn:dr:spec:node:apm.instrumentationconfig"
|
|
270
321
|
},
|
|
271
322
|
"instrumentationscope": {
|
|
272
323
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
273
324
|
"title": "InstrumentationScope",
|
|
274
|
-
"description": "
|
|
325
|
+
"description": "A named telemetry-producer identity, consisting of a name plus optional version, schema URL and attributes, under which code obtains a Tracer, Meter or Logger so that every span, metric and log record it emits is tagged with that origin. It identifies the instrumenting library or module, not the service or process that runs it. Use Resource instead when the identity describes the service, host, process or deployment that produces telemetry (service.name, host.name) rather than the library or module within it that emits the signals. Use InstrumentationConfig instead when the element is the setting that selects, enables or disables instrumentation of a library or code path, rather than the name/version identity stamped on the emitted telemetry. Use MetricInstrument instead when the element is an individual Counter, Histogram or Gauge created from a Meter, rather than the named Meter scope that owns the instruments. Use TraceConfiguration instead when the element is TracerProvider-wide sampler, propagator or processor configuration rather than a per-library tracer identity.",
|
|
275
326
|
"allOf": [
|
|
276
327
|
{
|
|
277
328
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -291,13 +342,16 @@
|
|
|
291
342
|
"type": "object",
|
|
292
343
|
"properties": {
|
|
293
344
|
"version": {
|
|
294
|
-
"type": "string"
|
|
345
|
+
"type": "string",
|
|
346
|
+
"description": "Version string of the instrumenting library or module (typically semver, e.g. '1.4.0'), as passed to getTracer/getMeter/getLogger; set whenever the code supplies a version."
|
|
295
347
|
},
|
|
296
348
|
"schemaUrl": {
|
|
297
|
-
"type": "string"
|
|
349
|
+
"type": "string",
|
|
350
|
+
"description": "URL of the OpenTelemetry semantic-conventions schema that this scope's telemetry conforms to (e.g. 'https://opentelemetry.io/schemas/1.24.0'); set when the code passes a schemaUrl on acquisition."
|
|
298
351
|
},
|
|
299
352
|
"droppedAttributesCount": {
|
|
300
|
-
"type": "integer"
|
|
353
|
+
"type": "integer",
|
|
354
|
+
"description": "Non-negative integer count of scope attributes discarded because of attribute limits; set to 0 when modelling a scope definition rather than observed runtime data."
|
|
301
355
|
},
|
|
302
356
|
"attributes": {
|
|
303
357
|
"type": "object",
|
|
@@ -309,12 +363,24 @@
|
|
|
309
363
|
"additionalProperties": false
|
|
310
364
|
}
|
|
311
365
|
},
|
|
366
|
+
"x-dr-standard": "OpenTelemetry Specification: InstrumentationScope (Glossary and Tracer/Meter/Logger 'Get a ...' operations); OTLP InstrumentationScope message in ScopeSpans/ScopeMetrics/ScopeLogs",
|
|
367
|
+
"x-dr-evidence": [
|
|
368
|
+
"Calls such as trace.getTracer('com.example.payments', '1.2.0'), meterProvider.getMeter(name, version, {schemaUrl}) or loggerProvider.getLogger(name) with a literal or constant library/module name",
|
|
369
|
+
"An instrumentation package whose class passes a name and version constant to its base constructor, e.g. super('@opentelemetry/instrumentation-express', VERSION) or InstrumentationScopeInfo.builder(name).setVersion(...)",
|
|
370
|
+
"Exported telemetry or collector config referencing scope identity: OTLP scopeSpans/scopeMetrics/scopeLogs entries with scope.name, or otel.scope.name / otel.library.name labels used in queries and filters"
|
|
371
|
+
],
|
|
372
|
+
"x-dr-distinguish": {
|
|
373
|
+
"apm.resource": "the identity describes the service, host, process or deployment that produces telemetry (service.name, host.name) rather than the library or module within it that emits the signals",
|
|
374
|
+
"apm.instrumentationconfig": "the element is the setting that selects, enables or disables instrumentation of a library or code path, rather than the name/version identity stamped on the emitted telemetry",
|
|
375
|
+
"apm.metricinstrument": "the element is an individual Counter, Histogram or Gauge created from a Meter, rather than the named Meter scope that owns the instruments",
|
|
376
|
+
"apm.traceconfiguration": "the element is TracerProvider-wide sampler, propagator or processor configuration rather than a per-library tracer identity"
|
|
377
|
+
},
|
|
312
378
|
"$id": "urn:dr:spec:node:apm.instrumentationscope"
|
|
313
379
|
},
|
|
314
380
|
"logconfiguration": {
|
|
315
381
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
316
382
|
"title": "LogConfiguration",
|
|
317
|
-
"description": "
|
|
383
|
+
"description": "A provider-level logging SDK configuration that bootstraps the log pipeline for one service: the OTel LoggerProvider, or an equivalent logging-framework root configuration, that registers log record processors and exporters and sets the minimum severity for emitted log records. It covers the pipeline as a whole, not any single processor, exporter or log record. Use LogProcessor instead when the symbol is one processing stage (simple, batch or custom filter/enricher) that is attached to the log pipeline, rather than the provider setup that assembles the pipeline. Use ExporterConfig instead when the symbol only specifies an export destination (endpoint, protocol, auth, compression) that a log, trace or metric pipeline sends data to. Use Resource instead when the symbol defines service identity attributes (service.name, service.version, deployment.environment) that are merged into all signals rather than log-pipeline settings. Use LogRecord instead when the symbol is an individual emitted log event or the structure of one, rather than the configuration governing emission.",
|
|
318
384
|
"allOf": [
|
|
319
385
|
{
|
|
320
386
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -334,7 +400,8 @@
|
|
|
334
400
|
"type": "object",
|
|
335
401
|
"properties": {
|
|
336
402
|
"serviceName": {
|
|
337
|
-
"type": "string"
|
|
403
|
+
"type": "string",
|
|
404
|
+
"description": "Logical name of the service whose log pipeline this configuration sets up, given as a plain string matching the Resource's service.name (e.g. 'checkout-api'); set it to tie the configuration to its emitting service."
|
|
338
405
|
},
|
|
339
406
|
"minimumSeverity": {
|
|
340
407
|
"type": "string",
|
|
@@ -346,12 +413,24 @@
|
|
|
346
413
|
"additionalProperties": false
|
|
347
414
|
}
|
|
348
415
|
},
|
|
416
|
+
"x-dr-standard": "OpenTelemetry Logs SDK specification – LoggerProvider (with LogRecordProcessor and LogRecordExporter configuration)",
|
|
417
|
+
"x-dr-evidence": [
|
|
418
|
+
"Construction of an OTel LoggerProvider or SdkLoggerProvider builder that chains addLogRecordProcessor(...) calls and is then registered globally, e.g. via set_logger_provider or OpenTelemetrySdk.builder().setLoggerProvider",
|
|
419
|
+
"Environment or SDK config keys such as OTEL_LOGS_EXPORTER, OTEL_BLRP_SCHEDULE_DELAY or a 'logger_provider:' block in an OTel declarative config file",
|
|
420
|
+
"A logging framework root configuration, such as logback.xml, log4j2.xml or Python logging.config dictConfig, that sets the root level and attaches an OpenTelemetry appender or handler"
|
|
421
|
+
],
|
|
422
|
+
"x-dr-distinguish": {
|
|
423
|
+
"apm.logprocessor": "the symbol is one processing stage (simple, batch or custom filter/enricher) that is attached to the log pipeline, rather than the provider setup that assembles the pipeline",
|
|
424
|
+
"apm.exporterconfig": "the symbol only specifies an export destination (endpoint, protocol, auth, compression) that a log, trace or metric pipeline sends data to",
|
|
425
|
+
"apm.resource": "the symbol defines service identity attributes (service.name, service.version, deployment.environment) that are merged into all signals rather than log-pipeline settings",
|
|
426
|
+
"apm.logrecord": "the symbol is an individual emitted log event or the structure of one, rather than the configuration governing emission"
|
|
427
|
+
},
|
|
349
428
|
"$id": "urn:dr:spec:node:apm.logconfiguration"
|
|
350
429
|
},
|
|
351
430
|
"logprocessor": {
|
|
352
431
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
353
432
|
"title": "LogProcessor",
|
|
354
|
-
"description": "A
|
|
433
|
+
"description": "A log-record pipeline stage registered on an OTel LoggerProvider (or in a Collector logs pipeline) that receives each emitted LogRecord and either forwards it to an exporter, synchronously or in buffered batches, or filters, transforms, enriches or redacts it before passing it on. It models one processor in the chain, not the provider-level logging configuration. Use LogConfiguration instead when the element is the LoggerProvider-level setup (service name, minimum severity, the overall processor/exporter wiring) rather than one stage in the processor chain. Use ExporterConfig instead when the element specifies where and how logs are sent (endpoint, protocol, authentication, compression) rather than how records are handled before export. Use LogRecord instead when the element is an individual log event or the structure of emitted log data rather than the component that handles those records. Use TraceConfiguration instead when the pipeline component processes spans (a SpanProcessor) rather than log records.",
|
|
355
434
|
"allOf": [
|
|
356
435
|
{
|
|
357
436
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -376,22 +455,36 @@
|
|
|
376
455
|
"description": "OTel log record processor type (simple: synchronous, batch: asynchronous buffered)"
|
|
377
456
|
},
|
|
378
457
|
"order": {
|
|
379
|
-
"type": "integer"
|
|
458
|
+
"type": "integer",
|
|
459
|
+
"description": "Ascending integer position of this processor in its LoggerProvider or pipeline chain, where lower values run first; set it when more than one processor is registered so that invocation order is explicit."
|
|
380
460
|
},
|
|
381
461
|
"enabled": {
|
|
382
|
-
"type": "boolean"
|
|
462
|
+
"type": "boolean",
|
|
463
|
+
"description": "Boolean indicating whether the processor is active in the pipeline (default true); set it to false when the processor is defined in configuration but deliberately not registered or is disabled by a feature flag."
|
|
383
464
|
}
|
|
384
465
|
},
|
|
385
466
|
"required": ["type"],
|
|
386
467
|
"additionalProperties": false
|
|
387
468
|
}
|
|
388
469
|
},
|
|
470
|
+
"x-dr-standard": "OpenTelemetry Logs SDK Specification: LogRecordProcessor (SimpleLogRecordProcessor, BatchLogRecordProcessor)",
|
|
471
|
+
"x-dr-evidence": [
|
|
472
|
+
"a class implementing the OTel LogRecordProcessor interface (onEmit/emit, forceFlush, shutdown), for example a redaction or enrichment processor",
|
|
473
|
+
"instantiation of BatchLogRecordProcessor or SimpleLogRecordProcessor passed to LoggerProvider.addLogRecordProcessor / SdkLoggerProvider.builder().addLogRecordProcessor, or OTEL_BLRP_* environment variables",
|
|
474
|
+
"an entry under processors: (e.g. batch, attributes, filter, transform, redaction) referenced in an OpenTelemetry Collector service.pipelines.logs.processors list"
|
|
475
|
+
],
|
|
476
|
+
"x-dr-distinguish": {
|
|
477
|
+
"apm.logconfiguration": "the element is the LoggerProvider-level setup (service name, minimum severity, the overall processor/exporter wiring) rather than one stage in the processor chain",
|
|
478
|
+
"apm.exporterconfig": "the element specifies where and how logs are sent (endpoint, protocol, authentication, compression) rather than how records are handled before export",
|
|
479
|
+
"apm.logrecord": "the element is an individual log event or the structure of emitted log data rather than the component that handles those records",
|
|
480
|
+
"apm.traceconfiguration": "the pipeline component processes spans (a SpanProcessor) rather than log records"
|
|
481
|
+
},
|
|
389
482
|
"$id": "urn:dr:spec:node:apm.logprocessor"
|
|
390
483
|
},
|
|
391
484
|
"logrecord": {
|
|
392
485
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
393
486
|
"title": "LogRecord",
|
|
394
|
-
"description": "
|
|
487
|
+
"description": "A structured log event emitted by application or library code through a logging API or the OTel Logs Bridge API. It is identified by a stable message template or event name together with its severity, body and attributes. It models the kind of record a log call site produces, not a transient annotation on a span. Use SpanEvent instead when the occurrence is recorded on an active span via span.addEvent or span.recordException, rather than emitted through a logger as an independent record. Use LogConfiguration instead when the code sets up the LoggerProvider, its exporters or its minimum-severity filtering, rather than emitting a particular log event. Use LogProcessor instead when the code filters, enriches, batches or routes log records in the pipeline instead of producing them. Use MetricInstrument instead when the occurrence is counted or measured as an aggregated numeric time series instead of being recorded as an individual event with a body.",
|
|
395
488
|
"allOf": [
|
|
396
489
|
{
|
|
397
490
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -411,25 +504,32 @@
|
|
|
411
504
|
"type": "object",
|
|
412
505
|
"properties": {
|
|
413
506
|
"timeUnixNano": {
|
|
414
|
-
"type": "string"
|
|
507
|
+
"type": "string",
|
|
508
|
+
"description": "Time the described event occurred, given as nanoseconds since the Unix epoch encoded as a decimal string; set it when the emitting source supplies an event time, otherwise use '0' (unknown)."
|
|
415
509
|
},
|
|
416
510
|
"observedTimeUnixNano": {
|
|
417
|
-
"type": "string"
|
|
511
|
+
"type": "string",
|
|
512
|
+
"description": "Time the record was observed by the collection pipeline (SDK or collector), given as nanoseconds since the Unix epoch encoded as a decimal string; it is normally set by the pipeline and falls back to timeUnixNano when no separate observation time exists."
|
|
418
513
|
},
|
|
419
514
|
"severityNumber": {
|
|
420
|
-
"type": "string"
|
|
515
|
+
"type": "string",
|
|
516
|
+
"description": "OTel numeric severity from 1 to 24 (1–4 TRACE, 5–8 DEBUG, 9–12 INFO, 13–16 WARN, 17–20 ERROR, 21–24 FATAL), with 0 meaning unspecified, written here as a decimal string; set it to the level used by the emitting call."
|
|
421
517
|
},
|
|
422
518
|
"severityText": {
|
|
423
|
-
"type": "string"
|
|
519
|
+
"type": "string",
|
|
520
|
+
"description": "Original severity label as produced by the source logging framework (e.g., 'WARNING', 'err'); set it to preserve the native level name alongside severityNumber."
|
|
424
521
|
},
|
|
425
522
|
"body": {
|
|
426
|
-
"type": "string"
|
|
523
|
+
"type": "string",
|
|
524
|
+
"description": "The log message or event payload, typically the message template (e.g., 'Order {orderId} created') or a serialized structured body; set it to the stable content that identifies this record."
|
|
427
525
|
},
|
|
428
526
|
"flags": {
|
|
429
|
-
"type": "string"
|
|
527
|
+
"type": "string",
|
|
528
|
+
"description": "W3C trace flags byte from the span context active at emission, as a hex string (e.g., '01' = sampled); set it when the record is correlated with a trace, otherwise use '00'."
|
|
430
529
|
},
|
|
431
530
|
"droppedAttributesCount": {
|
|
432
|
-
"type": "integer"
|
|
531
|
+
"type": "integer",
|
|
532
|
+
"description": "Number of attributes discarded because of attribute count or length limits, as a non-negative integer; use 0 for modelled records unless limits are known to truncate them."
|
|
433
533
|
},
|
|
434
534
|
"attributes": {
|
|
435
535
|
"type": "object",
|
|
@@ -448,12 +548,24 @@
|
|
|
448
548
|
"additionalProperties": false
|
|
449
549
|
}
|
|
450
550
|
},
|
|
551
|
+
"x-dr-standard": "OpenTelemetry Logs Data Model – LogRecord (Log and Event Record Definition)",
|
|
552
|
+
"x-dr-evidence": [
|
|
553
|
+
"A structured logger call with a stable message template or event name plus key-value fields, e.g. logger.warn('payment.declined', {orderId, reason}) or log.info().addKeyValue(...)",
|
|
554
|
+
"A direct OTel Logs Bridge API emission such as logger.emit({severityNumber, severityText, body, attributes}) or LogRecordBuilder.setBody(...).emit()",
|
|
555
|
+
"Documented log or audit event catalogs, or constants enumerating log event names and their fields, e.g. AUDIT_USER_LOGIN = 'user.login' referenced from logging calls"
|
|
556
|
+
],
|
|
557
|
+
"x-dr-distinguish": {
|
|
558
|
+
"apm.spanevent": "the occurrence is recorded on an active span via span.addEvent or span.recordException, rather than emitted through a logger as an independent record",
|
|
559
|
+
"apm.logconfiguration": "the code sets up the LoggerProvider, its exporters or its minimum-severity filtering, rather than emitting a particular log event",
|
|
560
|
+
"apm.logprocessor": "the code filters, enriches, batches or routes log records in the pipeline instead of producing them",
|
|
561
|
+
"apm.metricinstrument": "the occurrence is counted or measured as an aggregated numeric time series instead of being recorded as an individual event with a body"
|
|
562
|
+
},
|
|
451
563
|
"$id": "urn:dr:spec:node:apm.logrecord"
|
|
452
564
|
},
|
|
453
565
|
"metricconfiguration": {
|
|
454
566
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
455
567
|
"title": "MetricConfiguration",
|
|
456
|
-
"description": "
|
|
568
|
+
"description": "A process-wide OpenTelemetry metrics SDK configuration, applied once at MeterProvider construction, that sets how all metric instruments are collected and exported: the periodic reader's export interval and timeout, per-instrument cardinality limits, and exemplar filtering and reservoir sizing. It configures the metrics pipeline itself, not any individual instrument or export destination. Use MetricInstrument instead when the symbol defines one named measurement (a Counter, Histogram, Gauge, etc. created via meter.createX) with its own unit and description rather than global collection behaviour. Use ExporterConfig instead when the code specifies where metrics are sent (OTLP or Prometheus endpoint, protocol, authentication, compression) rather than how often and how much is collected. Use TraceConfiguration instead when the setup configures a TracerProvider (sampler, propagators, span processors) rather than a MeterProvider and its metric readers. Use InstrumentationConfig instead when the code enables or disables auto/manual instrumentation libraries that emit metrics, rather than configuring the SDK pipeline that collects them.",
|
|
457
569
|
"allOf": [
|
|
458
570
|
{
|
|
459
571
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -473,10 +585,12 @@
|
|
|
473
585
|
"type": "object",
|
|
474
586
|
"properties": {
|
|
475
587
|
"serviceName": {
|
|
476
|
-
"type": "string"
|
|
588
|
+
"type": "string",
|
|
589
|
+
"description": "Logical service name (matching the Resource service.name) identifying which service's MeterProvider this configuration belongs to; set it so the configuration can be correlated with the service's Resource."
|
|
477
590
|
},
|
|
478
591
|
"exportIntervalMillis": {
|
|
479
|
-
"type": "integer"
|
|
592
|
+
"type": "integer",
|
|
593
|
+
"description": "Interval in milliseconds between successive collections and exports by the periodic metric reader (OTel default 60000); set it when the code or OTEL_METRIC_EXPORT_INTERVAL overrides the default."
|
|
480
594
|
},
|
|
481
595
|
"exportTimeoutMillis": {
|
|
482
596
|
"type": "integer",
|
|
@@ -500,12 +614,24 @@
|
|
|
500
614
|
"additionalProperties": false
|
|
501
615
|
}
|
|
502
616
|
},
|
|
617
|
+
"x-dr-standard": "OpenTelemetry Metrics SDK Specification: MeterProvider configuration, PeriodicExportingMetricReader, Exemplar Filter and Cardinality Limits",
|
|
618
|
+
"x-dr-evidence": [
|
|
619
|
+
"Construction of an SDK MeterProvider (e.g. new MeterProvider({ readers: [...], views: [...] }), SdkMeterProvider.builder(), metrics.set_meter_provider(...)) in service bootstrap code",
|
|
620
|
+
"A PeriodicExportingMetricReader or equivalent instantiated with exportIntervalMillis/exportTimeoutMillis options, or env vars OTEL_METRIC_EXPORT_INTERVAL, OTEL_METRIC_EXPORT_TIMEOUT, OTEL_METRICS_EXEMPLAR_FILTER in deployment manifests",
|
|
621
|
+
"A meter_provider section in an OTel declarative configuration YAML file setting readers, cardinality_limits, or exemplar_filter"
|
|
622
|
+
],
|
|
623
|
+
"x-dr-distinguish": {
|
|
624
|
+
"apm.metricinstrument": "the symbol defines one named measurement (a Counter, Histogram, Gauge, etc. created via meter.createX) with its own unit and description rather than global collection behaviour.",
|
|
625
|
+
"apm.exporterconfig": "the code specifies where metrics are sent (OTLP or Prometheus endpoint, protocol, authentication, compression) rather than how often and how much is collected.",
|
|
626
|
+
"apm.traceconfiguration": "the setup configures a TracerProvider (sampler, propagators, span processors) rather than a MeterProvider and its metric readers.",
|
|
627
|
+
"apm.instrumentationconfig": "the code enables or disables auto/manual instrumentation libraries that emit metrics, rather than configuring the SDK pipeline that collects them."
|
|
628
|
+
},
|
|
503
629
|
"$id": "urn:dr:spec:node:apm.metricconfiguration"
|
|
504
630
|
},
|
|
505
631
|
"metricinstrument": {
|
|
506
632
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
507
633
|
"title": "MetricInstrument",
|
|
508
|
-
"description": "
|
|
634
|
+
"description": "A named OpenTelemetry metric instrument, obtained from a Meter (e.g. createCounter, histogramBuilder) or declared through an equivalent metrics client, that records measurements of one quantity under a fixed instrument kind and unit. It represents the instrument definition, not individual data points, time series, or the views and exports applied to them. Use MetricConfiguration instead when the code sets MeterProvider-wide behaviour such as export interval, cardinality limits, exemplar filtering, or metric readers, rather than declaring a single named instrument. Use InstrumentationConfig instead when the code enables or configures an instrumentation library that emits metrics automatically, and no instrument is declared directly in application code. Use Alert instead when the artifact is a rule or threshold expression evaluated against a metric's values, such as a Prometheus alerting rule over a histogram, rather than the code that records the metric. Use Span instead when the operation is recorded as a timed unit of work in a trace via Tracer.startSpan, rather than aggregated into a counter, gauge, or histogram.",
|
|
509
635
|
"allOf": [
|
|
510
636
|
{
|
|
511
637
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -538,13 +664,16 @@
|
|
|
538
664
|
"description": "OTel instrument type: synchronous (Counter, UpDownCounter, Histogram, Gauge) or asynchronous/observable (ObservableCounter, ObservableUpDownCounter, ObservableGauge)"
|
|
539
665
|
},
|
|
540
666
|
"unit": {
|
|
541
|
-
"type": "string"
|
|
667
|
+
"type": "string",
|
|
668
|
+
"description": "The instrument's unit of measure, as a UCUM case-sensitive string per OTel semantic conventions (e.g. 'ms', 's', 'By', '1', '{request}'). Copy it from the unit argument at instrument creation, using a curly-brace annotation for counts of things."
|
|
542
669
|
},
|
|
543
670
|
"description": {
|
|
544
|
-
"type": "string"
|
|
671
|
+
"type": "string",
|
|
672
|
+
"description": "Human-readable text explaining what the instrument measures, taken from the description argument or the Prometheus help string at creation. Set it whenever the code provides one."
|
|
545
673
|
},
|
|
546
674
|
"enabled": {
|
|
547
|
-
"type": "boolean"
|
|
675
|
+
"type": "boolean",
|
|
676
|
+
"description": "Whether measurements from this instrument are currently recorded and exported. Set it to false when the instrument is disabled by a feature flag, configuration, or an OTel View with Drop aggregation."
|
|
548
677
|
},
|
|
549
678
|
"source": {
|
|
550
679
|
"type": "object",
|
|
@@ -555,12 +684,24 @@
|
|
|
555
684
|
"additionalProperties": false
|
|
556
685
|
}
|
|
557
686
|
},
|
|
687
|
+
"x-dr-standard": "OpenTelemetry Metrics API Specification: Instrument (Meter create-instrument operations: Counter, UpDownCounter, Histogram, Gauge, and Asynchronous Counter/UpDownCounter/Gauge)",
|
|
688
|
+
"x-dr-evidence": [
|
|
689
|
+
"A Meter factory call such as meter.createCounter('http.server.request.count', { unit: '{request}', description: ... }) or meter.histogramBuilder(\"db.client.duration\").setUnit(\"ms\").build(), assigned to a field or module-level constant.",
|
|
690
|
+
"A metrics-client declaration such as new prometheus.Histogram({ name, help, buckets }), Counter.builder(\"orders.placed\").register(registry) in Micrometer, or a @Timed/@Counted annotation that creates a named instrument.",
|
|
691
|
+
"Registration of an asynchronous callback, for example meter.createObservableGauge('queue.depth').addCallback(result => result.observe(queue.size())) or a registerCallback reading a pool size."
|
|
692
|
+
],
|
|
693
|
+
"x-dr-distinguish": {
|
|
694
|
+
"apm.metricconfiguration": "the code sets MeterProvider-wide behaviour such as export interval, cardinality limits, exemplar filtering, or metric readers, rather than declaring a single named instrument.",
|
|
695
|
+
"apm.instrumentationconfig": "the code enables or configures an instrumentation library that emits metrics automatically, and no instrument is declared directly in application code.",
|
|
696
|
+
"apm.alert": "the artifact is a rule or threshold expression evaluated against a metric's values, such as a Prometheus alerting rule over a histogram, rather than the code that records the metric.",
|
|
697
|
+
"apm.span": "the operation is recorded as a timed unit of work in a trace via Tracer.startSpan, rather than aggregated into a counter, gauge, or histogram."
|
|
698
|
+
},
|
|
558
699
|
"$id": "urn:dr:spec:node:apm.metricinstrument"
|
|
559
700
|
},
|
|
560
701
|
"resource": {
|
|
561
702
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
562
703
|
"title": "Resource",
|
|
563
|
-
"description": "
|
|
704
|
+
"description": "An immutable set of OpenTelemetry attributes, built once per SDK or process from code, environment variables or resource detectors, that identifies the telemetry-producing entity (service, host, process, container, cloud instance). The SDK attaches it unchanged to every span, metric and log record that the process's providers emit. Use InstrumentationScope instead when the name, version and attributes identify the library or module that created the tracer, meter or logger, rather than the service or process emitting the telemetry. Use TraceConfiguration instead when the code configures TracerProvider behaviour such as samplers, propagators or span processors, even if a Resource object is passed into the same constructor. Use MetricConfiguration instead when the code sets MeterProvider-level export intervals, cardinality limits or exemplar filtering rather than entity identity attributes. Use Span instead when the attributes vary per operation or request (e.g. http.route, db.statement) instead of being constant for the whole process.",
|
|
564
705
|
"allOf": [
|
|
565
706
|
{
|
|
566
707
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -580,10 +721,12 @@
|
|
|
580
721
|
"type": "object",
|
|
581
722
|
"properties": {
|
|
582
723
|
"schemaUrl": {
|
|
583
|
-
"type": "string"
|
|
724
|
+
"type": "string",
|
|
725
|
+
"description": "URL of the OpenTelemetry semantic-conventions schema version that the resource attribute keys follow (e.g. 'https://opentelemetry.io/schemas/1.21.0'); set it when the resource or its detectors declare an explicit schema version."
|
|
584
726
|
},
|
|
585
727
|
"droppedAttributesCount": {
|
|
586
|
-
"type": "integer"
|
|
728
|
+
"type": "integer",
|
|
729
|
+
"description": "Non-negative integer count of resource attributes discarded because of attribute limits or invalid values; set it to 0 when all attributes were retained."
|
|
587
730
|
},
|
|
588
731
|
"serviceName": {
|
|
589
732
|
"type": "string",
|
|
@@ -607,12 +750,24 @@
|
|
|
607
750
|
"additionalProperties": false
|
|
608
751
|
}
|
|
609
752
|
},
|
|
753
|
+
"x-dr-standard": "OpenTelemetry Specification: Resource SDK and Resource Semantic Conventions (service.*, host.*, process.*, deployment.*)",
|
|
754
|
+
"x-dr-evidence": [
|
|
755
|
+
"A Resource constructed via Resource.create / resourceFromAttributes / Resource.getDefault().merge(...) with keys such as service.name, service.version or deployment.environment, then passed to a NodeSDK, TracerProvider, MeterProvider or LoggerProvider constructor.",
|
|
756
|
+
"OTEL_SERVICE_NAME or OTEL_RESOURCE_ATTRIBUTES environment variables set in Dockerfiles, Kubernetes manifests, Helm values or .env files.",
|
|
757
|
+
"Resource detectors registered at SDK bootstrap (e.g. envDetector, processDetector, hostDetector, awsEc2Detector, gcpDetector), or an OTel Collector 'resource'/'resourcedetection' processor block in collector YAML."
|
|
758
|
+
],
|
|
759
|
+
"x-dr-distinguish": {
|
|
760
|
+
"apm.instrumentationscope": "the name, version and attributes identify the library or module that created the tracer, meter or logger, rather than the service or process emitting the telemetry.",
|
|
761
|
+
"apm.traceconfiguration": "the code configures TracerProvider behaviour such as samplers, propagators or span processors, even if a Resource object is passed into the same constructor.",
|
|
762
|
+
"apm.metricconfiguration": "the code sets MeterProvider-level export intervals, cardinality limits or exemplar filtering rather than entity identity attributes.",
|
|
763
|
+
"apm.span": "the attributes vary per operation or request (e.g. http.route, db.statement) instead of being constant for the whole process."
|
|
764
|
+
},
|
|
610
765
|
"$id": "urn:dr:spec:node:apm.resource"
|
|
611
766
|
},
|
|
612
767
|
"span": {
|
|
613
768
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
614
769
|
"title": "Span",
|
|
615
|
-
"description": "A named, timed unit of work in a distributed trace,
|
|
770
|
+
"description": "A named, timed operation instrumented through the OpenTelemetry Tracer API, or emitted by an instrumentation library, that records one unit of work in a distributed trace with a SpanKind, start and end bounds, a status and attributes. The model element is the span as defined at a code location (name, kind, attributes), not one runtime occurrence. Use SpanEvent instead when the code records a point-in-time annotation inside an already-open span (span.addEvent, span.recordException) rather than opening and ending a new timed operation. Use SpanLink instead when the code attaches a non-parent causal reference to a span in another trace or batch (links passed at span start, Link objects) rather than defining the operation itself. Use TraceConfiguration instead when the symbol builds or configures the TracerProvider (sampler, propagators, span processors) rather than starting spans for a specific operation. Use InstrumentationConfig instead when the symbol only enables or registers an instrumentation library or plugin that produces spans, without itself naming a particular span.",
|
|
616
771
|
"allOf": [
|
|
617
772
|
{
|
|
618
773
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -632,16 +787,20 @@
|
|
|
632
787
|
"type": "object",
|
|
633
788
|
"properties": {
|
|
634
789
|
"traceId": {
|
|
635
|
-
"type": "string"
|
|
790
|
+
"type": "string",
|
|
791
|
+
"description": "The 16-byte trace identifier shared by all spans in a trace, written as 32 lowercase hex characters; set it only when modelling a captured span instance, otherwise leave it empty."
|
|
636
792
|
},
|
|
637
793
|
"spanId": {
|
|
638
|
-
"type": "string"
|
|
794
|
+
"type": "string",
|
|
795
|
+
"description": "The 8-byte identifier unique to this span within its trace, written as 16 lowercase hex characters; populate it from captured telemetry, not for design-time definitions."
|
|
639
796
|
},
|
|
640
797
|
"traceState": {
|
|
641
|
-
"type": "string"
|
|
798
|
+
"type": "string",
|
|
799
|
+
"description": "The W3C tracestate header value carrying vendor-specific key=value pairs propagated with the span context; use an empty string when no vendor state is propagated."
|
|
642
800
|
},
|
|
643
801
|
"parentSpanId": {
|
|
644
|
-
"type": "string"
|
|
802
|
+
"type": "string",
|
|
803
|
+
"description": "The spanId (16 hex characters) of the parent span in the same trace; use an empty string for a root span."
|
|
645
804
|
},
|
|
646
805
|
"spanKind": {
|
|
647
806
|
"type": "string",
|
|
@@ -649,19 +808,24 @@
|
|
|
649
808
|
"description": "OTel SpanKind indicating the span's relationship to the calling and receiving system"
|
|
650
809
|
},
|
|
651
810
|
"startTimeUnixNano": {
|
|
652
|
-
"type": "string"
|
|
811
|
+
"type": "string",
|
|
812
|
+
"description": "The time the operation started, in nanoseconds since the Unix epoch, encoded as a decimal string of a uint64."
|
|
653
813
|
},
|
|
654
814
|
"endTimeUnixNano": {
|
|
655
|
-
"type": "string"
|
|
815
|
+
"type": "string",
|
|
816
|
+
"description": "The time the operation ended, in nanoseconds since the Unix epoch, encoded as a decimal string of a uint64; it must be greater than or equal to startTimeUnixNano."
|
|
656
817
|
},
|
|
657
818
|
"droppedAttributesCount": {
|
|
658
|
-
"type": "integer"
|
|
819
|
+
"type": "integer",
|
|
820
|
+
"description": "The number of attributes the SDK discarded because of attribute count or length limits; set it to 0 when none were dropped."
|
|
659
821
|
},
|
|
660
822
|
"droppedEventsCount": {
|
|
661
|
-
"type": "string"
|
|
823
|
+
"type": "string",
|
|
824
|
+
"description": "The number of span events the SDK discarded because of the per-span event limit, as a non-negative integer written as a decimal string; set it to 0 when none were dropped."
|
|
662
825
|
},
|
|
663
826
|
"droppedLinksCount": {
|
|
664
|
-
"type": "string"
|
|
827
|
+
"type": "string",
|
|
828
|
+
"description": "The number of span links the SDK discarded because of the per-span link limit, as a non-negative integer written as a decimal string; set it to 0 when none were dropped."
|
|
665
829
|
},
|
|
666
830
|
"statusCode": {
|
|
667
831
|
"type": "string",
|
|
@@ -693,12 +857,24 @@
|
|
|
693
857
|
"additionalProperties": false
|
|
694
858
|
}
|
|
695
859
|
},
|
|
860
|
+
"x-dr-standard": "OpenTelemetry Specification 1.x, Tracing API §Span and Trace Data Model (OTLP trace.proto Span message)",
|
|
861
|
+
"x-dr-evidence": [
|
|
862
|
+
"a call such as tracer.startSpan('name'), tracer.startActiveSpan(...) or `with tracer.start_as_current_span(\"name\")` wrapping a block of application logic, followed by span.end()",
|
|
863
|
+
"a method annotated or decorated for tracing (e.g., @WithSpan, @Traced, @tracer.wrap) whose span name and SpanKind are set in the annotation or decorator",
|
|
864
|
+
"calls on a span handle such as span.setAttribute('http.route', ...), span.setStatus({code: ERROR}) or span.updateName(...) that set the span's attributes and status"
|
|
865
|
+
],
|
|
866
|
+
"x-dr-distinguish": {
|
|
867
|
+
"apm.spanevent": "the code records a point-in-time annotation inside an already-open span (span.addEvent, span.recordException) rather than opening and ending a new timed operation",
|
|
868
|
+
"apm.spanlink": "the code attaches a non-parent causal reference to a span in another trace or batch (links passed at span start, Link objects) rather than defining the operation itself",
|
|
869
|
+
"apm.traceconfiguration": "the symbol builds or configures the TracerProvider (sampler, propagators, span processors) rather than starting spans for a specific operation",
|
|
870
|
+
"apm.instrumentationconfig": "the symbol only enables or registers an instrumentation library or plugin that produces spans, without itself naming a particular span"
|
|
871
|
+
},
|
|
696
872
|
"$id": "urn:dr:spec:node:apm.span"
|
|
697
873
|
},
|
|
698
874
|
"spanevent": {
|
|
699
875
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
700
876
|
"title": "SpanEvent",
|
|
701
|
-
"description": "
|
|
877
|
+
"description": "A named, timestamped annotation attached to exactly one span and recorded at a single instant within that span's start–end window. It has no duration and no identity of its own, and it describes a notable occurrence such as a caught exception, retry or state transition inside the operation the span covers. Use LogRecord instead when the event is emitted through a Logger or the OTel Events/Logs API as an independent record (even if it carries traceId/spanId for correlation), rather than being added to a span via addEvent/recordException. Use Span instead when the thing being recorded has its own start and end time, its own spanId, or child operations, i.e. it is a unit of work with duration rather than a point-in-time marker inside one. Use SpanLink instead when the annotation points to another span (traceId+spanId) to express causality across traces or batches rather than recording something that happened at a moment within this span.",
|
|
702
878
|
"allOf": [
|
|
703
879
|
{
|
|
704
880
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -718,10 +894,12 @@
|
|
|
718
894
|
"type": "object",
|
|
719
895
|
"properties": {
|
|
720
896
|
"timeUnixNano": {
|
|
721
|
-
"type": "string"
|
|
897
|
+
"type": "string",
|
|
898
|
+
"description": "Instant at which the event occurred, as nanoseconds since the Unix epoch encoded as a decimal string (OTLP fixed64). It must fall within the parent span's start and end times; set it explicitly only when the event time differs from the moment addEvent was called."
|
|
722
899
|
},
|
|
723
900
|
"droppedAttributesCount": {
|
|
724
|
-
"type": "integer"
|
|
901
|
+
"type": "integer",
|
|
902
|
+
"description": "Number of attributes discarded from this event because SDK attribute count or length limits were exceeded; use 0 when no attributes were dropped."
|
|
725
903
|
},
|
|
726
904
|
"attributes": {
|
|
727
905
|
"type": "object",
|
|
@@ -733,12 +911,23 @@
|
|
|
733
911
|
"additionalProperties": false
|
|
734
912
|
}
|
|
735
913
|
},
|
|
914
|
+
"x-dr-standard": "OpenTelemetry Trace API, Span Events ('Add Events' / 'Record Exception'); OTLP trace.proto Span.Event message",
|
|
915
|
+
"x-dr-evidence": [
|
|
916
|
+
"calls to span.addEvent(name, attributes) / span.add_event(...) / Span.current().addEvent(...) on an active span",
|
|
917
|
+
"calls to span.recordException(err) / span.record_exception(e), or events named 'exception' carrying exception.type, exception.message and exception.stacktrace attributes",
|
|
918
|
+
"in .NET, Activity.AddEvent(new ActivityEvent(\"name\", tags: ...)), or exported OTLP/Jaeger payloads showing an 'events' (or 'logs') array nested inside a span"
|
|
919
|
+
],
|
|
920
|
+
"x-dr-distinguish": {
|
|
921
|
+
"apm.logrecord": "the event is emitted through a Logger or the OTel Events/Logs API as an independent record (even if it carries traceId/spanId for correlation), rather than being added to a span via addEvent/recordException.",
|
|
922
|
+
"apm.span": "the thing being recorded has its own start and end time, its own spanId, or child operations, i.e. it is a unit of work with duration rather than a point-in-time marker inside one.",
|
|
923
|
+
"apm.spanlink": "the annotation points to another span (traceId+spanId) to express causality across traces or batches rather than recording something that happened at a moment within this span."
|
|
924
|
+
},
|
|
736
925
|
"$id": "urn:dr:spec:node:apm.spanevent"
|
|
737
926
|
},
|
|
738
927
|
"spanlink": {
|
|
739
928
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
740
929
|
"title": "SpanLink",
|
|
741
|
-
"description": "
|
|
930
|
+
"description": "A reference attached to a span that identifies another span by its SpanContext (traceId, spanId, traceState) to record a causal relationship that is not parent-child, such as a batch consumer span pointing to each producer span whose message it processes. It is added when the span is created and belongs to the span that carries it. Use Span instead when the element is the timed unit of work itself, or the referenced span is the direct parent, which is expressed through the span's parentSpanId rather than a link. Use SpanEvent instead when the element is a timestamped annotation of something that happened inside the same span (e.g., an exception) and points to no other span.",
|
|
742
931
|
"allOf": [
|
|
743
932
|
{
|
|
744
933
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -758,16 +947,20 @@
|
|
|
758
947
|
"type": "object",
|
|
759
948
|
"properties": {
|
|
760
949
|
"traceId": {
|
|
761
|
-
"type": "string"
|
|
950
|
+
"type": "string",
|
|
951
|
+
"description": "W3C trace ID of the linked span, a 32-character lowercase hex string (16 bytes); always set, and it may differ from the owning span's trace."
|
|
762
952
|
},
|
|
763
953
|
"spanId": {
|
|
764
|
-
"type": "string"
|
|
954
|
+
"type": "string",
|
|
955
|
+
"description": "Span ID of the linked span, a 16-character lowercase hex string (8 bytes); always set to identify the exact target span."
|
|
765
956
|
},
|
|
766
957
|
"traceState": {
|
|
767
|
-
"type": "string"
|
|
958
|
+
"type": "string",
|
|
959
|
+
"description": "W3C tracestate value (comma-separated vendor key=value list) carried by the linked span context; set only when the linked context propagated a non-empty tracestate."
|
|
768
960
|
},
|
|
769
961
|
"droppedAttributesCount": {
|
|
770
|
-
"type": "integer"
|
|
962
|
+
"type": "integer",
|
|
963
|
+
"description": "Number of attributes on this link that the SDK discarded because of attribute limits (e.g., the per-link attribute count limit); set to 0 when none were dropped."
|
|
771
964
|
},
|
|
772
965
|
"attributes": {
|
|
773
966
|
"type": "object",
|
|
@@ -779,12 +972,22 @@
|
|
|
779
972
|
"additionalProperties": false
|
|
780
973
|
}
|
|
781
974
|
},
|
|
975
|
+
"x-dr-standard": "OpenTelemetry Trace API/SDK Specification – Link (Span.Links); OTLP trace.proto Span.Link message",
|
|
976
|
+
"x-dr-evidence": [
|
|
977
|
+
"a span started with a links option, e.g. tracer.startSpan(name, { links: [{ context: spanCtx, attributes }] }) in JS or start_as_current_span(name, links=[trace.Link(ctx)]) in Python",
|
|
978
|
+
"Java SpanBuilder.addLink(spanContext[, attributes]) calls made before startSpan()",
|
|
979
|
+
"a messaging consumer that extracts propagated trace context from each message header in a batch and passes the extracted contexts as links instead of setting a parent"
|
|
980
|
+
],
|
|
981
|
+
"x-dr-distinguish": {
|
|
982
|
+
"apm.span": "the element is the timed unit of work itself, or the referenced span is the direct parent, which is expressed through the span's parentSpanId rather than a link",
|
|
983
|
+
"apm.spanevent": "the element is a timestamped annotation of something that happened inside the same span (e.g., an exception) and points to no other span"
|
|
984
|
+
},
|
|
782
985
|
"$id": "urn:dr:spec:node:apm.spanlink"
|
|
783
986
|
},
|
|
784
987
|
"traceconfiguration": {
|
|
785
988
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
786
989
|
"title": "TraceConfiguration",
|
|
787
|
-
"description": "
|
|
990
|
+
"description": "A tracing-SDK configuration, one per TracerProvider (usually one per service process), that fixes the sampler and its ratio, the context propagation formats injected into and extracted from carriers, and the span processors and exporters the provider forwards finished spans to. Use Resource instead when the symbol only sets service identity attributes such as service.name, service.version or deployment.environment that are merged into all signals. Use ExporterConfig instead when the symbol defines a single export destination (endpoint, protocol, auth, compression) rather than the provider-level sampling and propagation setup that uses it. Use InstrumentationConfig instead when the symbol selects or enables instrumentation libraries or manual tracer calls rather than configuring the provider those instrumentations emit into. Use MetricConfiguration instead when the symbol configures a MeterProvider (export interval, cardinality, exemplars) rather than a TracerProvider.",
|
|
788
991
|
"allOf": [
|
|
789
992
|
{
|
|
790
993
|
"$ref": "urn:dr:spec:base:spec-node"
|
|
@@ -845,6 +1048,18 @@
|
|
|
845
1048
|
"additionalProperties": false
|
|
846
1049
|
}
|
|
847
1050
|
},
|
|
1051
|
+
"x-dr-standard": "OpenTelemetry Specification – Tracing SDK: TracerProvider configuration (Sampler, SpanProcessor, SpanExporter) and Context/Propagators API (TextMapPropagator)",
|
|
1052
|
+
"x-dr-evidence": [
|
|
1053
|
+
"Construction of a NodeTracerProvider, SdkTracerProvider or TracerProvider with a sampler argument such as ParentBased(TraceIdRatioBased(0.1)) or ALWAYS_ON",
|
|
1054
|
+
"Calls such as addSpanProcessor(new BatchSpanProcessor(exporter)) or setGlobalTextMapPropagator(new CompositePropagator([W3CTraceContextPropagator, W3CBaggagePropagator]))",
|
|
1055
|
+
"Environment variables OTEL_TRACES_SAMPLER, OTEL_TRACES_SAMPLER_ARG or OTEL_PROPAGATORS in deployment manifests, or a tracer_provider section in an OTel Collector/SDK declarative config YAML"
|
|
1056
|
+
],
|
|
1057
|
+
"x-dr-distinguish": {
|
|
1058
|
+
"apm.resource": "the symbol only sets service identity attributes such as service.name, service.version or deployment.environment that are merged into all signals.",
|
|
1059
|
+
"apm.exporterconfig": "the symbol defines a single export destination (endpoint, protocol, auth, compression) rather than the provider-level sampling and propagation setup that uses it.",
|
|
1060
|
+
"apm.instrumentationconfig": "the symbol selects or enables instrumentation libraries or manual tracer calls rather than configuring the provider those instrumentations emit into.",
|
|
1061
|
+
"apm.metricconfiguration": "the symbol configures a MeterProvider (export interval, cardinality, exemplars) rather than a TracerProvider."
|
|
1062
|
+
},
|
|
848
1063
|
"$id": "urn:dr:spec:node:apm.traceconfiguration"
|
|
849
1064
|
}
|
|
850
1065
|
},
|
|
@@ -858,7 +1073,8 @@
|
|
|
858
1073
|
"predicate": "monitors",
|
|
859
1074
|
"cardinality": "many-to-many",
|
|
860
1075
|
"strength": "medium",
|
|
861
|
-
"required": false
|
|
1076
|
+
"required": false,
|
|
1077
|
+
"description": "The alert evaluates a query over the log record, such as firing when error logs of this kind exceed a rate."
|
|
862
1078
|
},
|
|
863
1079
|
"apm.alert.monitors.apm.metricinstrument": {
|
|
864
1080
|
"id": "apm.alert.monitors.apm.metricinstrument",
|
|
@@ -869,29 +1085,8 @@
|
|
|
869
1085
|
"predicate": "monitors",
|
|
870
1086
|
"cardinality": "many-to-many",
|
|
871
1087
|
"strength": "medium",
|
|
872
|
-
"required": false
|
|
873
|
-
|
|
874
|
-
"apm.alert.monitors.api.operation": {
|
|
875
|
-
"id": "apm.alert.monitors.api.operation",
|
|
876
|
-
"source_spec_node_id": "apm.alert",
|
|
877
|
-
"source_layer": "apm",
|
|
878
|
-
"destination_spec_node_id": "api.operation",
|
|
879
|
-
"destination_layer": "api",
|
|
880
|
-
"predicate": "monitors",
|
|
881
|
-
"cardinality": "many-to-many",
|
|
882
|
-
"strength": "medium",
|
|
883
|
-
"required": false
|
|
884
|
-
},
|
|
885
|
-
"apm.alert.monitors.api.ratelimit": {
|
|
886
|
-
"id": "apm.alert.monitors.api.ratelimit",
|
|
887
|
-
"source_spec_node_id": "apm.alert",
|
|
888
|
-
"source_layer": "apm",
|
|
889
|
-
"destination_spec_node_id": "api.ratelimit",
|
|
890
|
-
"destination_layer": "api",
|
|
891
|
-
"predicate": "monitors",
|
|
892
|
-
"cardinality": "many-to-many",
|
|
893
|
-
"strength": "medium",
|
|
894
|
-
"required": false
|
|
1088
|
+
"required": false,
|
|
1089
|
+
"description": "The alert evaluates a threshold or query over the metric, such as p95 latency above 500 ms."
|
|
895
1090
|
},
|
|
896
1091
|
"apm.alert.monitors.apm.span": {
|
|
897
1092
|
"id": "apm.alert.monitors.apm.span",
|
|
@@ -902,18 +1097,8 @@
|
|
|
902
1097
|
"predicate": "monitors",
|
|
903
1098
|
"cardinality": "many-to-many",
|
|
904
1099
|
"strength": "medium",
|
|
905
|
-
"required": false
|
|
906
|
-
|
|
907
|
-
"apm.dashboard.monitors.apm.alert": {
|
|
908
|
-
"id": "apm.dashboard.monitors.apm.alert",
|
|
909
|
-
"source_spec_node_id": "apm.dashboard",
|
|
910
|
-
"source_layer": "apm",
|
|
911
|
-
"destination_spec_node_id": "apm.alert",
|
|
912
|
-
"destination_layer": "apm",
|
|
913
|
-
"predicate": "monitors",
|
|
914
|
-
"cardinality": "many-to-many",
|
|
915
|
-
"strength": "medium",
|
|
916
|
-
"required": false
|
|
1100
|
+
"required": false,
|
|
1101
|
+
"description": "The alert evaluates a query over the span, such as an error ratio for a span name."
|
|
917
1102
|
},
|
|
918
1103
|
"apm.dashboard.monitors.apm.logrecord": {
|
|
919
1104
|
"id": "apm.dashboard.monitors.apm.logrecord",
|
|
@@ -924,7 +1109,8 @@
|
|
|
924
1109
|
"predicate": "monitors",
|
|
925
1110
|
"cardinality": "many-to-many",
|
|
926
1111
|
"strength": "medium",
|
|
927
|
-
"required": false
|
|
1112
|
+
"required": false,
|
|
1113
|
+
"description": "A panel on the dashboard queries the log record."
|
|
928
1114
|
},
|
|
929
1115
|
"apm.dashboard.monitors.apm.metricinstrument": {
|
|
930
1116
|
"id": "apm.dashboard.monitors.apm.metricinstrument",
|
|
@@ -935,40 +1121,44 @@
|
|
|
935
1121
|
"predicate": "monitors",
|
|
936
1122
|
"cardinality": "many-to-many",
|
|
937
1123
|
"strength": "medium",
|
|
938
|
-
"required": false
|
|
1124
|
+
"required": false,
|
|
1125
|
+
"description": "A panel on the dashboard charts the metric."
|
|
939
1126
|
},
|
|
940
|
-
"apm.dashboard.monitors.
|
|
941
|
-
"id": "apm.dashboard.monitors.
|
|
1127
|
+
"apm.dashboard.monitors.apm.span": {
|
|
1128
|
+
"id": "apm.dashboard.monitors.apm.span",
|
|
942
1129
|
"source_spec_node_id": "apm.dashboard",
|
|
943
1130
|
"source_layer": "apm",
|
|
944
|
-
"destination_spec_node_id": "
|
|
945
|
-
"destination_layer": "
|
|
1131
|
+
"destination_spec_node_id": "apm.span",
|
|
1132
|
+
"destination_layer": "apm",
|
|
946
1133
|
"predicate": "monitors",
|
|
947
1134
|
"cardinality": "many-to-many",
|
|
948
1135
|
"strength": "medium",
|
|
949
|
-
"required": false
|
|
1136
|
+
"required": false,
|
|
1137
|
+
"description": "A panel on the dashboard queries the span, such as a latency heatmap for a span name."
|
|
950
1138
|
},
|
|
951
|
-
"apm.dashboard.
|
|
952
|
-
"id": "apm.dashboard.
|
|
1139
|
+
"apm.dashboard.references.apm.alert": {
|
|
1140
|
+
"id": "apm.dashboard.references.apm.alert",
|
|
953
1141
|
"source_spec_node_id": "apm.dashboard",
|
|
954
1142
|
"source_layer": "apm",
|
|
955
|
-
"destination_spec_node_id": "apm.
|
|
1143
|
+
"destination_spec_node_id": "apm.alert",
|
|
956
1144
|
"destination_layer": "apm",
|
|
957
|
-
"predicate": "
|
|
1145
|
+
"predicate": "references",
|
|
958
1146
|
"cardinality": "many-to-many",
|
|
959
1147
|
"strength": "medium",
|
|
960
|
-
"required": false
|
|
1148
|
+
"required": false,
|
|
1149
|
+
"description": "The dashboard shows the alert's state. Use monitors instead for the signals the dashboard charts."
|
|
961
1150
|
},
|
|
962
|
-
"apm.exporterconfig.
|
|
963
|
-
"id": "apm.exporterconfig.
|
|
1151
|
+
"apm.exporterconfig.accesses.data-store.database": {
|
|
1152
|
+
"id": "apm.exporterconfig.accesses.data-store.database",
|
|
964
1153
|
"source_spec_node_id": "apm.exporterconfig",
|
|
965
1154
|
"source_layer": "apm",
|
|
966
|
-
"destination_spec_node_id": "
|
|
967
|
-
"destination_layer": "
|
|
968
|
-
"predicate": "
|
|
1155
|
+
"destination_spec_node_id": "data-store.database",
|
|
1156
|
+
"destination_layer": "data-store",
|
|
1157
|
+
"predicate": "accesses",
|
|
969
1158
|
"cardinality": "many-to-many",
|
|
970
1159
|
"strength": "medium",
|
|
971
|
-
"required": false
|
|
1160
|
+
"required": false,
|
|
1161
|
+
"description": "The exporter writes telemetry into the database, such as a ClickHouse or Postgres telemetry store."
|
|
972
1162
|
},
|
|
973
1163
|
"apm.exporterconfig.satisfies.motivation.requirement": {
|
|
974
1164
|
"id": "apm.exporterconfig.satisfies.motivation.requirement",
|
|
@@ -979,7 +1169,8 @@
|
|
|
979
1169
|
"predicate": "satisfies",
|
|
980
1170
|
"cardinality": "many-to-many",
|
|
981
1171
|
"strength": "medium",
|
|
982
|
-
"required": false
|
|
1172
|
+
"required": false,
|
|
1173
|
+
"description": "The exporter meets a requirement, such as sending telemetry to an approved backend."
|
|
983
1174
|
},
|
|
984
1175
|
"apm.exporterconfig.satisfies.security.retentionpolicy": {
|
|
985
1176
|
"id": "apm.exporterconfig.satisfies.security.retentionpolicy",
|
|
@@ -990,29 +1181,8 @@
|
|
|
990
1181
|
"predicate": "satisfies",
|
|
991
1182
|
"cardinality": "many-to-many",
|
|
992
1183
|
"strength": "medium",
|
|
993
|
-
"required": false
|
|
994
|
-
|
|
995
|
-
"apm.exporterconfig.serves.data-store.database": {
|
|
996
|
-
"id": "apm.exporterconfig.serves.data-store.database",
|
|
997
|
-
"source_spec_node_id": "apm.exporterconfig",
|
|
998
|
-
"source_layer": "apm",
|
|
999
|
-
"destination_spec_node_id": "data-store.database",
|
|
1000
|
-
"destination_layer": "data-store",
|
|
1001
|
-
"predicate": "serves",
|
|
1002
|
-
"cardinality": "many-to-many",
|
|
1003
|
-
"strength": "medium",
|
|
1004
|
-
"required": false
|
|
1005
|
-
},
|
|
1006
|
-
"apm.exporterconfig.serves.apm.resource": {
|
|
1007
|
-
"id": "apm.exporterconfig.serves.apm.resource",
|
|
1008
|
-
"source_spec_node_id": "apm.exporterconfig",
|
|
1009
|
-
"source_layer": "apm",
|
|
1010
|
-
"destination_spec_node_id": "apm.resource",
|
|
1011
|
-
"destination_layer": "apm",
|
|
1012
|
-
"predicate": "serves",
|
|
1013
|
-
"cardinality": "many-to-many",
|
|
1014
|
-
"strength": "medium",
|
|
1015
|
-
"required": false
|
|
1184
|
+
"required": false,
|
|
1185
|
+
"description": "The exporter's destination enforces the retention policy for the telemetry it sends."
|
|
1016
1186
|
},
|
|
1017
1187
|
"apm.instrumentationconfig.monitors.application.applicationcomponent": {
|
|
1018
1188
|
"id": "apm.instrumentationconfig.monitors.application.applicationcomponent",
|
|
@@ -1023,7 +1193,8 @@
|
|
|
1023
1193
|
"predicate": "monitors",
|
|
1024
1194
|
"cardinality": "many-to-many",
|
|
1025
1195
|
"strength": "medium",
|
|
1026
|
-
"required": false
|
|
1196
|
+
"required": false,
|
|
1197
|
+
"description": "The instrumentation configuration instruments the component's code, so the component's work is traced, measured or logged."
|
|
1027
1198
|
},
|
|
1028
1199
|
"apm.instrumentationconfig.monitors.navigation.route": {
|
|
1029
1200
|
"id": "apm.instrumentationconfig.monitors.navigation.route",
|
|
@@ -1034,7 +1205,8 @@
|
|
|
1034
1205
|
"predicate": "monitors",
|
|
1035
1206
|
"cardinality": "many-to-many",
|
|
1036
1207
|
"strength": "medium",
|
|
1037
|
-
"required": false
|
|
1208
|
+
"required": false,
|
|
1209
|
+
"description": "The instrumentation configuration instruments route changes, such as a router plugin recording navigations."
|
|
1038
1210
|
},
|
|
1039
1211
|
"apm.instrumentationconfig.monitors.technology.systemsoftware": {
|
|
1040
1212
|
"id": "apm.instrumentationconfig.monitors.technology.systemsoftware",
|
|
@@ -1045,18 +1217,20 @@
|
|
|
1045
1217
|
"predicate": "monitors",
|
|
1046
1218
|
"cardinality": "many-to-many",
|
|
1047
1219
|
"strength": "medium",
|
|
1048
|
-
"required": false
|
|
1220
|
+
"required": false,
|
|
1221
|
+
"description": "The instrumentation configuration instruments the library or framework, such as an HTTP client or database driver plugin."
|
|
1049
1222
|
},
|
|
1050
|
-
"apm.instrumentationconfig.references.apm.
|
|
1051
|
-
"id": "apm.instrumentationconfig.references.apm.
|
|
1223
|
+
"apm.instrumentationconfig.references.apm.instrumentationscope": {
|
|
1224
|
+
"id": "apm.instrumentationconfig.references.apm.instrumentationscope",
|
|
1052
1225
|
"source_spec_node_id": "apm.instrumentationconfig",
|
|
1053
1226
|
"source_layer": "apm",
|
|
1054
|
-
"destination_spec_node_id": "apm.
|
|
1227
|
+
"destination_spec_node_id": "apm.instrumentationscope",
|
|
1055
1228
|
"destination_layer": "apm",
|
|
1056
1229
|
"predicate": "references",
|
|
1057
1230
|
"cardinality": "many-to-many",
|
|
1058
1231
|
"strength": "medium",
|
|
1059
|
-
"required": false
|
|
1232
|
+
"required": false,
|
|
1233
|
+
"description": "The instrumentation configuration names the scope its library emits telemetry under."
|
|
1060
1234
|
},
|
|
1061
1235
|
"apm.instrumentationconfig.satisfies.motivation.constraint": {
|
|
1062
1236
|
"id": "apm.instrumentationconfig.satisfies.motivation.constraint",
|
|
@@ -1067,40 +1241,20 @@
|
|
|
1067
1241
|
"predicate": "satisfies",
|
|
1068
1242
|
"cardinality": "many-to-many",
|
|
1069
1243
|
"strength": "medium",
|
|
1070
|
-
"required": false
|
|
1071
|
-
|
|
1072
|
-
"apm.instrumentationconfig.serves.apm.instrumentationscope": {
|
|
1073
|
-
"id": "apm.instrumentationconfig.serves.apm.instrumentationscope",
|
|
1074
|
-
"source_spec_node_id": "apm.instrumentationconfig",
|
|
1075
|
-
"source_layer": "apm",
|
|
1076
|
-
"destination_spec_node_id": "apm.instrumentationscope",
|
|
1077
|
-
"destination_layer": "apm",
|
|
1078
|
-
"predicate": "serves",
|
|
1079
|
-
"cardinality": "many-to-many",
|
|
1080
|
-
"strength": "medium",
|
|
1081
|
-
"required": false
|
|
1244
|
+
"required": false,
|
|
1245
|
+
"description": "The instrumentation configuration meets a constraint, such as excluding health-check paths from tracing."
|
|
1082
1246
|
},
|
|
1083
|
-
"apm.
|
|
1084
|
-
"id": "apm.
|
|
1085
|
-
"source_spec_node_id": "apm.instrumentationconfig",
|
|
1086
|
-
"source_layer": "apm",
|
|
1087
|
-
"destination_spec_node_id": "apm.resource",
|
|
1088
|
-
"destination_layer": "apm",
|
|
1089
|
-
"predicate": "serves",
|
|
1090
|
-
"cardinality": "many-to-many",
|
|
1091
|
-
"strength": "medium",
|
|
1092
|
-
"required": false
|
|
1093
|
-
},
|
|
1094
|
-
"apm.instrumentationscope.aggregates.apm.exporterconfig": {
|
|
1095
|
-
"id": "apm.instrumentationscope.aggregates.apm.exporterconfig",
|
|
1247
|
+
"apm.instrumentationscope.aggregates.apm.logrecord": {
|
|
1248
|
+
"id": "apm.instrumentationscope.aggregates.apm.logrecord",
|
|
1096
1249
|
"source_spec_node_id": "apm.instrumentationscope",
|
|
1097
1250
|
"source_layer": "apm",
|
|
1098
|
-
"destination_spec_node_id": "apm.
|
|
1251
|
+
"destination_spec_node_id": "apm.logrecord",
|
|
1099
1252
|
"destination_layer": "apm",
|
|
1100
1253
|
"predicate": "aggregates",
|
|
1101
1254
|
"cardinality": "many-to-many",
|
|
1102
1255
|
"strength": "medium",
|
|
1103
|
-
"required": false
|
|
1256
|
+
"required": false,
|
|
1257
|
+
"description": "The log record is emitted by a logger obtained under the scope, so it carries the scope's name and version."
|
|
1104
1258
|
},
|
|
1105
1259
|
"apm.instrumentationscope.aggregates.apm.metricinstrument": {
|
|
1106
1260
|
"id": "apm.instrumentationscope.aggregates.apm.metricinstrument",
|
|
@@ -1111,7 +1265,8 @@
|
|
|
1111
1265
|
"predicate": "aggregates",
|
|
1112
1266
|
"cardinality": "many-to-many",
|
|
1113
1267
|
"strength": "medium",
|
|
1114
|
-
"required": false
|
|
1268
|
+
"required": false,
|
|
1269
|
+
"description": "The metric instrument is created from a meter obtained under the scope."
|
|
1115
1270
|
},
|
|
1116
1271
|
"apm.instrumentationscope.aggregates.apm.span": {
|
|
1117
1272
|
"id": "apm.instrumentationscope.aggregates.apm.span",
|
|
@@ -1122,29 +1277,8 @@
|
|
|
1122
1277
|
"predicate": "aggregates",
|
|
1123
1278
|
"cardinality": "many-to-many",
|
|
1124
1279
|
"strength": "medium",
|
|
1125
|
-
"required": false
|
|
1126
|
-
|
|
1127
|
-
"apm.instrumentationscope.monitors.data-model.objectschema": {
|
|
1128
|
-
"id": "apm.instrumentationscope.monitors.data-model.objectschema",
|
|
1129
|
-
"source_spec_node_id": "apm.instrumentationscope",
|
|
1130
|
-
"source_layer": "apm",
|
|
1131
|
-
"destination_spec_node_id": "data-model.objectschema",
|
|
1132
|
-
"destination_layer": "data-model",
|
|
1133
|
-
"predicate": "monitors",
|
|
1134
|
-
"cardinality": "many-to-many",
|
|
1135
|
-
"strength": "medium",
|
|
1136
|
-
"required": false
|
|
1137
|
-
},
|
|
1138
|
-
"apm.instrumentationscope.monitors.ux.uxapplication": {
|
|
1139
|
-
"id": "apm.instrumentationscope.monitors.ux.uxapplication",
|
|
1140
|
-
"source_spec_node_id": "apm.instrumentationscope",
|
|
1141
|
-
"source_layer": "apm",
|
|
1142
|
-
"destination_spec_node_id": "ux.uxapplication",
|
|
1143
|
-
"destination_layer": "ux",
|
|
1144
|
-
"predicate": "monitors",
|
|
1145
|
-
"cardinality": "many-to-many",
|
|
1146
|
-
"strength": "medium",
|
|
1147
|
-
"required": false
|
|
1280
|
+
"required": false,
|
|
1281
|
+
"description": "The span is started by a tracer obtained under the scope."
|
|
1148
1282
|
},
|
|
1149
1283
|
"apm.logconfiguration.aggregates.apm.exporterconfig": {
|
|
1150
1284
|
"id": "apm.logconfiguration.aggregates.apm.exporterconfig",
|
|
@@ -1155,7 +1289,8 @@
|
|
|
1155
1289
|
"predicate": "aggregates",
|
|
1156
1290
|
"cardinality": "many-to-many",
|
|
1157
1291
|
"strength": "medium",
|
|
1158
|
-
"required": false
|
|
1292
|
+
"required": false,
|
|
1293
|
+
"description": "The logger provider sends log records to the exporter."
|
|
1159
1294
|
},
|
|
1160
1295
|
"apm.logconfiguration.aggregates.apm.logprocessor": {
|
|
1161
1296
|
"id": "apm.logconfiguration.aggregates.apm.logprocessor",
|
|
@@ -1166,18 +1301,8 @@
|
|
|
1166
1301
|
"predicate": "aggregates",
|
|
1167
1302
|
"cardinality": "many-to-many",
|
|
1168
1303
|
"strength": "medium",
|
|
1169
|
-
"required": false
|
|
1170
|
-
|
|
1171
|
-
"apm.logconfiguration.depends-on.data-store.database": {
|
|
1172
|
-
"id": "apm.logconfiguration.depends-on.data-store.database",
|
|
1173
|
-
"source_spec_node_id": "apm.logconfiguration",
|
|
1174
|
-
"source_layer": "apm",
|
|
1175
|
-
"destination_spec_node_id": "data-store.database",
|
|
1176
|
-
"destination_layer": "data-store",
|
|
1177
|
-
"predicate": "depends-on",
|
|
1178
|
-
"cardinality": "many-to-many",
|
|
1179
|
-
"strength": "medium",
|
|
1180
|
-
"required": false
|
|
1304
|
+
"required": false,
|
|
1305
|
+
"description": "The logger provider registers the log processor in its pipeline."
|
|
1181
1306
|
},
|
|
1182
1307
|
"apm.logconfiguration.depends-on.apm.resource": {
|
|
1183
1308
|
"id": "apm.logconfiguration.depends-on.apm.resource",
|
|
@@ -1188,40 +1313,8 @@
|
|
|
1188
1313
|
"predicate": "depends-on",
|
|
1189
1314
|
"cardinality": "many-to-many",
|
|
1190
1315
|
"strength": "medium",
|
|
1191
|
-
"required": false
|
|
1192
|
-
|
|
1193
|
-
"apm.logconfiguration.depends-on.technology.technologyservice": {
|
|
1194
|
-
"id": "apm.logconfiguration.depends-on.technology.technologyservice",
|
|
1195
|
-
"source_spec_node_id": "apm.logconfiguration",
|
|
1196
|
-
"source_layer": "apm",
|
|
1197
|
-
"destination_spec_node_id": "technology.technologyservice",
|
|
1198
|
-
"destination_layer": "technology",
|
|
1199
|
-
"predicate": "depends-on",
|
|
1200
|
-
"cardinality": "many-to-many",
|
|
1201
|
-
"strength": "medium",
|
|
1202
|
-
"required": false
|
|
1203
|
-
},
|
|
1204
|
-
"apm.logconfiguration.flows-to.apm.exporterconfig": {
|
|
1205
|
-
"id": "apm.logconfiguration.flows-to.apm.exporterconfig",
|
|
1206
|
-
"source_spec_node_id": "apm.logconfiguration",
|
|
1207
|
-
"source_layer": "apm",
|
|
1208
|
-
"destination_spec_node_id": "apm.exporterconfig",
|
|
1209
|
-
"destination_layer": "apm",
|
|
1210
|
-
"predicate": "flows-to",
|
|
1211
|
-
"cardinality": "many-to-many",
|
|
1212
|
-
"strength": "medium",
|
|
1213
|
-
"required": false
|
|
1214
|
-
},
|
|
1215
|
-
"apm.logconfiguration.monitors.business.businessservice": {
|
|
1216
|
-
"id": "apm.logconfiguration.monitors.business.businessservice",
|
|
1217
|
-
"source_spec_node_id": "apm.logconfiguration",
|
|
1218
|
-
"source_layer": "apm",
|
|
1219
|
-
"destination_spec_node_id": "business.businessservice",
|
|
1220
|
-
"destination_layer": "business",
|
|
1221
|
-
"predicate": "monitors",
|
|
1222
|
-
"cardinality": "many-to-many",
|
|
1223
|
-
"strength": "medium",
|
|
1224
|
-
"required": false
|
|
1316
|
+
"required": false,
|
|
1317
|
+
"description": "The logger provider is built with the resource, which it attaches to every log record."
|
|
1225
1318
|
},
|
|
1226
1319
|
"apm.logconfiguration.references.apm.traceconfiguration": {
|
|
1227
1320
|
"id": "apm.logconfiguration.references.apm.traceconfiguration",
|
|
@@ -1232,7 +1325,8 @@
|
|
|
1232
1325
|
"predicate": "references",
|
|
1233
1326
|
"cardinality": "many-to-many",
|
|
1234
1327
|
"strength": "medium",
|
|
1235
|
-
"required": false
|
|
1328
|
+
"required": false,
|
|
1329
|
+
"description": "The log configuration correlates logs with traces from the trace configuration, such as by injecting trace and span ids."
|
|
1236
1330
|
},
|
|
1237
1331
|
"apm.logconfiguration.satisfies.security.auditconfig": {
|
|
1238
1332
|
"id": "apm.logconfiguration.satisfies.security.auditconfig",
|
|
@@ -1243,29 +1337,8 @@
|
|
|
1243
1337
|
"predicate": "satisfies",
|
|
1244
1338
|
"cardinality": "many-to-many",
|
|
1245
1339
|
"strength": "medium",
|
|
1246
|
-
"required": false
|
|
1247
|
-
|
|
1248
|
-
"apm.logconfiguration.serves.apm.logrecord": {
|
|
1249
|
-
"id": "apm.logconfiguration.serves.apm.logrecord",
|
|
1250
|
-
"source_spec_node_id": "apm.logconfiguration",
|
|
1251
|
-
"source_layer": "apm",
|
|
1252
|
-
"destination_spec_node_id": "apm.logrecord",
|
|
1253
|
-
"destination_layer": "apm",
|
|
1254
|
-
"predicate": "serves",
|
|
1255
|
-
"cardinality": "many-to-many",
|
|
1256
|
-
"strength": "medium",
|
|
1257
|
-
"required": false
|
|
1258
|
-
},
|
|
1259
|
-
"apm.logconfiguration.serves.apm.resource": {
|
|
1260
|
-
"id": "apm.logconfiguration.serves.apm.resource",
|
|
1261
|
-
"source_spec_node_id": "apm.logconfiguration",
|
|
1262
|
-
"source_layer": "apm",
|
|
1263
|
-
"destination_spec_node_id": "apm.resource",
|
|
1264
|
-
"destination_layer": "apm",
|
|
1265
|
-
"predicate": "serves",
|
|
1266
|
-
"cardinality": "many-to-many",
|
|
1267
|
-
"strength": "medium",
|
|
1268
|
-
"required": false
|
|
1340
|
+
"required": false,
|
|
1341
|
+
"description": "The log configuration carries the audit logging the audit configuration requires."
|
|
1269
1342
|
},
|
|
1270
1343
|
"apm.logprocessor.flows-to.apm.exporterconfig": {
|
|
1271
1344
|
"id": "apm.logprocessor.flows-to.apm.exporterconfig",
|
|
@@ -1276,7 +1349,8 @@
|
|
|
1276
1349
|
"predicate": "flows-to",
|
|
1277
1350
|
"cardinality": "many-to-many",
|
|
1278
1351
|
"strength": "medium",
|
|
1279
|
-
"required": false
|
|
1352
|
+
"required": false,
|
|
1353
|
+
"description": "The log processor hands records to the exporter, synchronously or in batches."
|
|
1280
1354
|
},
|
|
1281
1355
|
"apm.logprocessor.flows-to.apm.logprocessor": {
|
|
1282
1356
|
"id": "apm.logprocessor.flows-to.apm.logprocessor",
|
|
@@ -1287,51 +1361,8 @@
|
|
|
1287
1361
|
"predicate": "flows-to",
|
|
1288
1362
|
"cardinality": "many-to-many",
|
|
1289
1363
|
"strength": "medium",
|
|
1290
|
-
"required": false
|
|
1291
|
-
|
|
1292
|
-
"apm.logprocessor.flows-to.apm.span": {
|
|
1293
|
-
"id": "apm.logprocessor.flows-to.apm.span",
|
|
1294
|
-
"source_spec_node_id": "apm.logprocessor",
|
|
1295
|
-
"source_layer": "apm",
|
|
1296
|
-
"destination_spec_node_id": "apm.span",
|
|
1297
|
-
"destination_layer": "apm",
|
|
1298
|
-
"predicate": "flows-to",
|
|
1299
|
-
"cardinality": "many-to-many",
|
|
1300
|
-
"strength": "medium",
|
|
1301
|
-
"required": false
|
|
1302
|
-
},
|
|
1303
|
-
"apm.logprocessor.satisfies.security.securityconstraints": {
|
|
1304
|
-
"id": "apm.logprocessor.satisfies.security.securityconstraints",
|
|
1305
|
-
"source_spec_node_id": "apm.logprocessor",
|
|
1306
|
-
"source_layer": "apm",
|
|
1307
|
-
"destination_spec_node_id": "security.securityconstraints",
|
|
1308
|
-
"destination_layer": "security",
|
|
1309
|
-
"predicate": "satisfies",
|
|
1310
|
-
"cardinality": "many-to-many",
|
|
1311
|
-
"strength": "medium",
|
|
1312
|
-
"required": false
|
|
1313
|
-
},
|
|
1314
|
-
"apm.logrecord.depends-on.apm.instrumentationscope": {
|
|
1315
|
-
"id": "apm.logrecord.depends-on.apm.instrumentationscope",
|
|
1316
|
-
"source_spec_node_id": "apm.logrecord",
|
|
1317
|
-
"source_layer": "apm",
|
|
1318
|
-
"destination_spec_node_id": "apm.instrumentationscope",
|
|
1319
|
-
"destination_layer": "apm",
|
|
1320
|
-
"predicate": "depends-on",
|
|
1321
|
-
"cardinality": "many-to-many",
|
|
1322
|
-
"strength": "medium",
|
|
1323
|
-
"required": false
|
|
1324
|
-
},
|
|
1325
|
-
"apm.logrecord.depends-on.apm.resource": {
|
|
1326
|
-
"id": "apm.logrecord.depends-on.apm.resource",
|
|
1327
|
-
"source_spec_node_id": "apm.logrecord",
|
|
1328
|
-
"source_layer": "apm",
|
|
1329
|
-
"destination_spec_node_id": "apm.resource",
|
|
1330
|
-
"destination_layer": "apm",
|
|
1331
|
-
"predicate": "depends-on",
|
|
1332
|
-
"cardinality": "many-to-many",
|
|
1333
|
-
"strength": "medium",
|
|
1334
|
-
"required": false
|
|
1364
|
+
"required": false,
|
|
1365
|
+
"description": "The log processor hands records to the next processor in the pipeline, such as a redactor before a batcher."
|
|
1335
1366
|
},
|
|
1336
1367
|
"apm.logrecord.flows-to.apm.logprocessor": {
|
|
1337
1368
|
"id": "apm.logrecord.flows-to.apm.logprocessor",
|
|
@@ -1342,7 +1373,8 @@
|
|
|
1342
1373
|
"predicate": "flows-to",
|
|
1343
1374
|
"cardinality": "many-to-many",
|
|
1344
1375
|
"strength": "medium",
|
|
1345
|
-
"required": false
|
|
1376
|
+
"required": false,
|
|
1377
|
+
"description": "Records of this kind enter the log processor."
|
|
1346
1378
|
},
|
|
1347
1379
|
"apm.logrecord.monitors.application.applicationservice": {
|
|
1348
1380
|
"id": "apm.logrecord.monitors.application.applicationservice",
|
|
@@ -1353,7 +1385,8 @@
|
|
|
1353
1385
|
"predicate": "monitors",
|
|
1354
1386
|
"cardinality": "many-to-many",
|
|
1355
1387
|
"strength": "medium",
|
|
1356
|
-
"required": false
|
|
1388
|
+
"required": false,
|
|
1389
|
+
"description": "The log record reports on the application service, such as a request log for the service."
|
|
1357
1390
|
},
|
|
1358
1391
|
"apm.logrecord.references.data-model.objectschema": {
|
|
1359
1392
|
"id": "apm.logrecord.references.data-model.objectschema",
|
|
@@ -1364,7 +1397,8 @@
|
|
|
1364
1397
|
"predicate": "references",
|
|
1365
1398
|
"cardinality": "many-to-many",
|
|
1366
1399
|
"strength": "medium",
|
|
1367
|
-
"required": false
|
|
1400
|
+
"required": false,
|
|
1401
|
+
"description": "The log record carries data of the object schema in its body or attributes, such as an order id."
|
|
1368
1402
|
},
|
|
1369
1403
|
"apm.logrecord.references.navigation.route": {
|
|
1370
1404
|
"id": "apm.logrecord.references.navigation.route",
|
|
@@ -1375,7 +1409,8 @@
|
|
|
1375
1409
|
"predicate": "references",
|
|
1376
1410
|
"cardinality": "many-to-many",
|
|
1377
1411
|
"strength": "medium",
|
|
1378
|
-
"required": false
|
|
1412
|
+
"required": false,
|
|
1413
|
+
"description": "The log record names the route it was emitted on."
|
|
1379
1414
|
},
|
|
1380
1415
|
"apm.logrecord.references.data-model.schemadefinition": {
|
|
1381
1416
|
"id": "apm.logrecord.references.data-model.schemadefinition",
|
|
@@ -1386,7 +1421,8 @@
|
|
|
1386
1421
|
"predicate": "references",
|
|
1387
1422
|
"cardinality": "many-to-many",
|
|
1388
1423
|
"strength": "medium",
|
|
1389
|
-
"required": false
|
|
1424
|
+
"required": false,
|
|
1425
|
+
"description": "The log record's body or attributes follow the schema definition."
|
|
1390
1426
|
},
|
|
1391
1427
|
"apm.logrecord.references.apm.span": {
|
|
1392
1428
|
"id": "apm.logrecord.references.apm.span",
|
|
@@ -1397,7 +1433,8 @@
|
|
|
1397
1433
|
"predicate": "references",
|
|
1398
1434
|
"cardinality": "many-to-many",
|
|
1399
1435
|
"strength": "medium",
|
|
1400
|
-
"required": false
|
|
1436
|
+
"required": false,
|
|
1437
|
+
"description": "The log record carries the trace and span ids of the span it was emitted in, for correlation."
|
|
1401
1438
|
},
|
|
1402
1439
|
"apm.logrecord.references.ux.view": {
|
|
1403
1440
|
"id": "apm.logrecord.references.ux.view",
|
|
@@ -1408,7 +1445,8 @@
|
|
|
1408
1445
|
"predicate": "references",
|
|
1409
1446
|
"cardinality": "many-to-many",
|
|
1410
1447
|
"strength": "medium",
|
|
1411
|
-
"required": false
|
|
1448
|
+
"required": false,
|
|
1449
|
+
"description": "The log record names the view it was emitted on."
|
|
1412
1450
|
},
|
|
1413
1451
|
"apm.logrecord.satisfies.security.accountabilityrequirement": {
|
|
1414
1452
|
"id": "apm.logrecord.satisfies.security.accountabilityrequirement",
|
|
@@ -1419,7 +1457,8 @@
|
|
|
1419
1457
|
"predicate": "satisfies",
|
|
1420
1458
|
"cardinality": "many-to-many",
|
|
1421
1459
|
"strength": "medium",
|
|
1422
|
-
"required": false
|
|
1460
|
+
"required": false,
|
|
1461
|
+
"description": "The log record provides evidence an accountability requirement asks for, such as an audit trail entry."
|
|
1423
1462
|
},
|
|
1424
1463
|
"apm.metricconfiguration.aggregates.apm.exporterconfig": {
|
|
1425
1464
|
"id": "apm.metricconfiguration.aggregates.apm.exporterconfig",
|
|
@@ -1430,7 +1469,8 @@
|
|
|
1430
1469
|
"predicate": "aggregates",
|
|
1431
1470
|
"cardinality": "many-to-many",
|
|
1432
1471
|
"strength": "medium",
|
|
1433
|
-
"required": false
|
|
1472
|
+
"required": false,
|
|
1473
|
+
"description": "The meter provider exports metrics through the exporter or reader."
|
|
1434
1474
|
},
|
|
1435
1475
|
"apm.metricconfiguration.aggregates.apm.metricinstrument": {
|
|
1436
1476
|
"id": "apm.metricconfiguration.aggregates.apm.metricinstrument",
|
|
@@ -1441,7 +1481,8 @@
|
|
|
1441
1481
|
"predicate": "aggregates",
|
|
1442
1482
|
"cardinality": "many-to-many",
|
|
1443
1483
|
"strength": "medium",
|
|
1444
|
-
"required": false
|
|
1484
|
+
"required": false,
|
|
1485
|
+
"description": "The meter provider configures how the instrument is collected, such as a view or a cardinality limit for it."
|
|
1445
1486
|
},
|
|
1446
1487
|
"apm.metricconfiguration.depends-on.apm.resource": {
|
|
1447
1488
|
"id": "apm.metricconfiguration.depends-on.apm.resource",
|
|
@@ -1452,7 +1493,8 @@
|
|
|
1452
1493
|
"predicate": "depends-on",
|
|
1453
1494
|
"cardinality": "many-to-many",
|
|
1454
1495
|
"strength": "medium",
|
|
1455
|
-
"required": false
|
|
1496
|
+
"required": false,
|
|
1497
|
+
"description": "The meter provider is built with the resource, which it attaches to every metric."
|
|
1456
1498
|
},
|
|
1457
1499
|
"apm.metricconfiguration.references.data-model.jsonschema": {
|
|
1458
1500
|
"id": "apm.metricconfiguration.references.data-model.jsonschema",
|
|
@@ -1463,7 +1505,8 @@
|
|
|
1463
1505
|
"predicate": "references",
|
|
1464
1506
|
"cardinality": "many-to-many",
|
|
1465
1507
|
"strength": "medium",
|
|
1466
|
-
"required": false
|
|
1508
|
+
"required": false,
|
|
1509
|
+
"description": "The metric configuration is validated by the schema document, such as a views configuration file."
|
|
1467
1510
|
},
|
|
1468
1511
|
"apm.metricconfiguration.references.apm.traceconfiguration": {
|
|
1469
1512
|
"id": "apm.metricconfiguration.references.apm.traceconfiguration",
|
|
@@ -1474,51 +1517,8 @@
|
|
|
1474
1517
|
"predicate": "references",
|
|
1475
1518
|
"cardinality": "many-to-many",
|
|
1476
1519
|
"strength": "medium",
|
|
1477
|
-
"required": false
|
|
1478
|
-
|
|
1479
|
-
"apm.metricconfiguration.serves.apm.instrumentationconfig": {
|
|
1480
|
-
"id": "apm.metricconfiguration.serves.apm.instrumentationconfig",
|
|
1481
|
-
"source_spec_node_id": "apm.metricconfiguration",
|
|
1482
|
-
"source_layer": "apm",
|
|
1483
|
-
"destination_spec_node_id": "apm.instrumentationconfig",
|
|
1484
|
-
"destination_layer": "apm",
|
|
1485
|
-
"predicate": "serves",
|
|
1486
|
-
"cardinality": "many-to-many",
|
|
1487
|
-
"strength": "medium",
|
|
1488
|
-
"required": false
|
|
1489
|
-
},
|
|
1490
|
-
"apm.metricconfiguration.serves.apm.resource": {
|
|
1491
|
-
"id": "apm.metricconfiguration.serves.apm.resource",
|
|
1492
|
-
"source_spec_node_id": "apm.metricconfiguration",
|
|
1493
|
-
"source_layer": "apm",
|
|
1494
|
-
"destination_spec_node_id": "apm.resource",
|
|
1495
|
-
"destination_layer": "apm",
|
|
1496
|
-
"predicate": "serves",
|
|
1497
|
-
"cardinality": "many-to-many",
|
|
1498
|
-
"strength": "medium",
|
|
1499
|
-
"required": false
|
|
1500
|
-
},
|
|
1501
|
-
"apm.metricinstrument.depends-on.apm.instrumentationscope": {
|
|
1502
|
-
"id": "apm.metricinstrument.depends-on.apm.instrumentationscope",
|
|
1503
|
-
"source_spec_node_id": "apm.metricinstrument",
|
|
1504
|
-
"source_layer": "apm",
|
|
1505
|
-
"destination_spec_node_id": "apm.instrumentationscope",
|
|
1506
|
-
"destination_layer": "apm",
|
|
1507
|
-
"predicate": "depends-on",
|
|
1508
|
-
"cardinality": "many-to-many",
|
|
1509
|
-
"strength": "medium",
|
|
1510
|
-
"required": false
|
|
1511
|
-
},
|
|
1512
|
-
"apm.metricinstrument.depends-on.apm.resource": {
|
|
1513
|
-
"id": "apm.metricinstrument.depends-on.apm.resource",
|
|
1514
|
-
"source_spec_node_id": "apm.metricinstrument",
|
|
1515
|
-
"source_layer": "apm",
|
|
1516
|
-
"destination_spec_node_id": "apm.resource",
|
|
1517
|
-
"destination_layer": "apm",
|
|
1518
|
-
"predicate": "depends-on",
|
|
1519
|
-
"cardinality": "many-to-many",
|
|
1520
|
-
"strength": "medium",
|
|
1521
|
-
"required": false
|
|
1520
|
+
"required": false,
|
|
1521
|
+
"description": "The metric configuration links metrics to traces from the trace configuration, such as through exemplars."
|
|
1522
1522
|
},
|
|
1523
1523
|
"apm.metricinstrument.flows-to.apm.exporterconfig": {
|
|
1524
1524
|
"id": "apm.metricinstrument.flows-to.apm.exporterconfig",
|
|
@@ -1529,40 +1529,20 @@
|
|
|
1529
1529
|
"predicate": "flows-to",
|
|
1530
1530
|
"cardinality": "many-to-many",
|
|
1531
1531
|
"strength": "medium",
|
|
1532
|
-
"required": false
|
|
1533
|
-
|
|
1534
|
-
"apm.metricinstrument.flows-to.apm.logprocessor": {
|
|
1535
|
-
"id": "apm.metricinstrument.flows-to.apm.logprocessor",
|
|
1536
|
-
"source_spec_node_id": "apm.metricinstrument",
|
|
1537
|
-
"source_layer": "apm",
|
|
1538
|
-
"destination_spec_node_id": "apm.logprocessor",
|
|
1539
|
-
"destination_layer": "apm",
|
|
1540
|
-
"predicate": "flows-to",
|
|
1541
|
-
"cardinality": "many-to-many",
|
|
1542
|
-
"strength": "medium",
|
|
1543
|
-
"required": false
|
|
1544
|
-
},
|
|
1545
|
-
"apm.metricinstrument.flows-to.apm.span": {
|
|
1546
|
-
"id": "apm.metricinstrument.flows-to.apm.span",
|
|
1547
|
-
"source_spec_node_id": "apm.metricinstrument",
|
|
1548
|
-
"source_layer": "apm",
|
|
1549
|
-
"destination_spec_node_id": "apm.span",
|
|
1550
|
-
"destination_layer": "apm",
|
|
1551
|
-
"predicate": "flows-to",
|
|
1552
|
-
"cardinality": "many-to-many",
|
|
1553
|
-
"strength": "medium",
|
|
1554
|
-
"required": false
|
|
1532
|
+
"required": false,
|
|
1533
|
+
"description": "The instrument's measurements are exported through the exporter or reader."
|
|
1555
1534
|
},
|
|
1556
|
-
"apm.metricinstrument.
|
|
1557
|
-
"id": "apm.metricinstrument.
|
|
1535
|
+
"apm.metricinstrument.measures-outcome.motivation.outcome": {
|
|
1536
|
+
"id": "apm.metricinstrument.measures-outcome.motivation.outcome",
|
|
1558
1537
|
"source_spec_node_id": "apm.metricinstrument",
|
|
1559
1538
|
"source_layer": "apm",
|
|
1560
1539
|
"destination_spec_node_id": "motivation.outcome",
|
|
1561
1540
|
"destination_layer": "motivation",
|
|
1562
|
-
"predicate": "
|
|
1541
|
+
"predicate": "measures-outcome",
|
|
1563
1542
|
"cardinality": "many-to-many",
|
|
1564
1543
|
"strength": "medium",
|
|
1565
|
-
"required": false
|
|
1544
|
+
"required": false,
|
|
1545
|
+
"description": "The metric tracks progress toward the outcome, such as a checkout duration metric for 'checkout under 2 s'."
|
|
1566
1546
|
},
|
|
1567
1547
|
"apm.metricinstrument.monitors.ux.actioncomponent": {
|
|
1568
1548
|
"id": "apm.metricinstrument.monitors.ux.actioncomponent",
|
|
@@ -1573,7 +1553,8 @@
|
|
|
1573
1553
|
"predicate": "monitors",
|
|
1574
1554
|
"cardinality": "many-to-many",
|
|
1575
1555
|
"strength": "medium",
|
|
1576
|
-
"required": false
|
|
1556
|
+
"required": false,
|
|
1557
|
+
"description": "The metric measures use of the action component, such as clicks on a button."
|
|
1577
1558
|
},
|
|
1578
1559
|
"apm.metricinstrument.monitors.application.applicationcomponent": {
|
|
1579
1560
|
"id": "apm.metricinstrument.monitors.application.applicationcomponent",
|
|
@@ -1584,7 +1565,8 @@
|
|
|
1584
1565
|
"predicate": "monitors",
|
|
1585
1566
|
"cardinality": "many-to-many",
|
|
1586
1567
|
"strength": "medium",
|
|
1587
|
-
"required": false
|
|
1568
|
+
"required": false,
|
|
1569
|
+
"description": "The metric measures the component's behaviour, such as its queue depth."
|
|
1588
1570
|
},
|
|
1589
1571
|
"apm.metricinstrument.monitors.application.applicationservice": {
|
|
1590
1572
|
"id": "apm.metricinstrument.monitors.application.applicationservice",
|
|
@@ -1595,7 +1577,8 @@
|
|
|
1595
1577
|
"predicate": "monitors",
|
|
1596
1578
|
"cardinality": "many-to-many",
|
|
1597
1579
|
"strength": "medium",
|
|
1598
|
-
"required": false
|
|
1580
|
+
"required": false,
|
|
1581
|
+
"description": "The metric measures the service, such as its request rate or error rate."
|
|
1599
1582
|
},
|
|
1600
1583
|
"apm.metricinstrument.monitors.business.businessprocess": {
|
|
1601
1584
|
"id": "apm.metricinstrument.monitors.business.businessprocess",
|
|
@@ -1606,7 +1589,8 @@
|
|
|
1606
1589
|
"predicate": "monitors",
|
|
1607
1590
|
"cardinality": "many-to-many",
|
|
1608
1591
|
"strength": "medium",
|
|
1609
|
-
"required": false
|
|
1592
|
+
"required": false,
|
|
1593
|
+
"description": "The metric is a business KPI for the process, such as orders placed per minute."
|
|
1610
1594
|
},
|
|
1611
1595
|
"apm.metricinstrument.monitors.business.businessservice": {
|
|
1612
1596
|
"id": "apm.metricinstrument.monitors.business.businessservice",
|
|
@@ -1617,7 +1601,8 @@
|
|
|
1617
1601
|
"predicate": "monitors",
|
|
1618
1602
|
"cardinality": "many-to-many",
|
|
1619
1603
|
"strength": "medium",
|
|
1620
|
-
"required": false
|
|
1604
|
+
"required": false,
|
|
1605
|
+
"description": "The metric is a business KPI for the service, such as successful payments per hour."
|
|
1621
1606
|
},
|
|
1622
1607
|
"apm.metricinstrument.monitors.data-store.collection": {
|
|
1623
1608
|
"id": "apm.metricinstrument.monitors.data-store.collection",
|
|
@@ -1628,7 +1613,8 @@
|
|
|
1628
1613
|
"predicate": "monitors",
|
|
1629
1614
|
"cardinality": "many-to-many",
|
|
1630
1615
|
"strength": "medium",
|
|
1631
|
-
"required": false
|
|
1616
|
+
"required": false,
|
|
1617
|
+
"description": "The metric measures the collection, such as its row count or write rate."
|
|
1632
1618
|
},
|
|
1633
1619
|
"apm.metricinstrument.monitors.data-store.database": {
|
|
1634
1620
|
"id": "apm.metricinstrument.monitors.data-store.database",
|
|
@@ -1639,7 +1625,8 @@
|
|
|
1639
1625
|
"predicate": "monitors",
|
|
1640
1626
|
"cardinality": "many-to-many",
|
|
1641
1627
|
"strength": "medium",
|
|
1642
|
-
"required": false
|
|
1628
|
+
"required": false,
|
|
1629
|
+
"description": "The metric measures the database, such as connection-pool use or query latency."
|
|
1643
1630
|
},
|
|
1644
1631
|
"apm.metricinstrument.monitors.ux.errorconfig": {
|
|
1645
1632
|
"id": "apm.metricinstrument.monitors.ux.errorconfig",
|
|
@@ -1650,7 +1637,8 @@
|
|
|
1650
1637
|
"predicate": "monitors",
|
|
1651
1638
|
"cardinality": "many-to-many",
|
|
1652
1639
|
"strength": "medium",
|
|
1653
|
-
"required": false
|
|
1640
|
+
"required": false,
|
|
1641
|
+
"description": "The metric counts the errors the error configuration handles."
|
|
1654
1642
|
},
|
|
1655
1643
|
"apm.metricinstrument.monitors.navigation.navigationtransition": {
|
|
1656
1644
|
"id": "apm.metricinstrument.monitors.navigation.navigationtransition",
|
|
@@ -1661,7 +1649,8 @@
|
|
|
1661
1649
|
"predicate": "monitors",
|
|
1662
1650
|
"cardinality": "many-to-many",
|
|
1663
1651
|
"strength": "medium",
|
|
1664
|
-
"required": false
|
|
1652
|
+
"required": false,
|
|
1653
|
+
"description": "The metric measures the transition, such as its duration or how often it happens."
|
|
1665
1654
|
},
|
|
1666
1655
|
"apm.metricinstrument.monitors.data-model.objectschema": {
|
|
1667
1656
|
"id": "apm.metricinstrument.monitors.data-model.objectschema",
|
|
@@ -1672,7 +1661,8 @@
|
|
|
1672
1661
|
"predicate": "monitors",
|
|
1673
1662
|
"cardinality": "many-to-many",
|
|
1674
1663
|
"strength": "medium",
|
|
1675
|
-
"required": false
|
|
1664
|
+
"required": false,
|
|
1665
|
+
"description": "The metric counts or measures entities of the object schema, such as orders created."
|
|
1676
1666
|
},
|
|
1677
1667
|
"apm.metricinstrument.monitors.api.operation": {
|
|
1678
1668
|
"id": "apm.metricinstrument.monitors.api.operation",
|
|
@@ -1683,18 +1673,8 @@
|
|
|
1683
1673
|
"predicate": "monitors",
|
|
1684
1674
|
"cardinality": "many-to-many",
|
|
1685
1675
|
"strength": "medium",
|
|
1686
|
-
"required": false
|
|
1687
|
-
|
|
1688
|
-
"apm.metricinstrument.monitors.api.pathitem": {
|
|
1689
|
-
"id": "apm.metricinstrument.monitors.api.pathitem",
|
|
1690
|
-
"source_spec_node_id": "apm.metricinstrument",
|
|
1691
|
-
"source_layer": "apm",
|
|
1692
|
-
"destination_spec_node_id": "api.pathitem",
|
|
1693
|
-
"destination_layer": "api",
|
|
1694
|
-
"predicate": "monitors",
|
|
1695
|
-
"cardinality": "many-to-many",
|
|
1696
|
-
"strength": "medium",
|
|
1697
|
-
"required": false
|
|
1676
|
+
"required": false,
|
|
1677
|
+
"description": "The metric measures the operation, such as its request duration histogram."
|
|
1698
1678
|
},
|
|
1699
1679
|
"apm.metricinstrument.monitors.navigation.route": {
|
|
1700
1680
|
"id": "apm.metricinstrument.monitors.navigation.route",
|
|
@@ -1705,7 +1685,8 @@
|
|
|
1705
1685
|
"predicate": "monitors",
|
|
1706
1686
|
"cardinality": "many-to-many",
|
|
1707
1687
|
"strength": "medium",
|
|
1708
|
-
"required": false
|
|
1688
|
+
"required": false,
|
|
1689
|
+
"description": "The metric measures the route, such as page load time."
|
|
1709
1690
|
},
|
|
1710
1691
|
"apm.metricinstrument.monitors.data-model.schemadefinition": {
|
|
1711
1692
|
"id": "apm.metricinstrument.monitors.data-model.schemadefinition",
|
|
@@ -1716,7 +1697,8 @@
|
|
|
1716
1697
|
"predicate": "monitors",
|
|
1717
1698
|
"cardinality": "many-to-many",
|
|
1718
1699
|
"strength": "medium",
|
|
1719
|
-
"required": false
|
|
1700
|
+
"required": false,
|
|
1701
|
+
"description": "The metric counts or measures values of the definition, such as validation failures for it."
|
|
1720
1702
|
},
|
|
1721
1703
|
"apm.metricinstrument.monitors.technology.technologyservice": {
|
|
1722
1704
|
"id": "apm.metricinstrument.monitors.technology.technologyservice",
|
|
@@ -1727,7 +1709,8 @@
|
|
|
1727
1709
|
"predicate": "monitors",
|
|
1728
1710
|
"cardinality": "many-to-many",
|
|
1729
1711
|
"strength": "medium",
|
|
1730
|
-
"required": false
|
|
1712
|
+
"required": false,
|
|
1713
|
+
"description": "The metric measures the platform service, such as queue lag or cache hit rate."
|
|
1731
1714
|
},
|
|
1732
1715
|
"apm.metricinstrument.monitors.security.threat": {
|
|
1733
1716
|
"id": "apm.metricinstrument.monitors.security.threat",
|
|
@@ -1738,7 +1721,8 @@
|
|
|
1738
1721
|
"predicate": "monitors",
|
|
1739
1722
|
"cardinality": "many-to-many",
|
|
1740
1723
|
"strength": "medium",
|
|
1741
|
-
"required": false
|
|
1724
|
+
"required": false,
|
|
1725
|
+
"description": "The metric watches for the threat, such as failed sign-ins per minute for credential stuffing."
|
|
1742
1726
|
},
|
|
1743
1727
|
"apm.metricinstrument.monitors.ux.view": {
|
|
1744
1728
|
"id": "apm.metricinstrument.monitors.ux.view",
|
|
@@ -1749,18 +1733,8 @@
|
|
|
1749
1733
|
"predicate": "monitors",
|
|
1750
1734
|
"cardinality": "many-to-many",
|
|
1751
1735
|
"strength": "medium",
|
|
1752
|
-
"required": false
|
|
1753
|
-
|
|
1754
|
-
"apm.metricinstrument.realizes.motivation.goal": {
|
|
1755
|
-
"id": "apm.metricinstrument.realizes.motivation.goal",
|
|
1756
|
-
"source_spec_node_id": "apm.metricinstrument",
|
|
1757
|
-
"source_layer": "apm",
|
|
1758
|
-
"destination_spec_node_id": "motivation.goal",
|
|
1759
|
-
"destination_layer": "motivation",
|
|
1760
|
-
"predicate": "realizes",
|
|
1761
|
-
"cardinality": "many-to-many",
|
|
1762
|
-
"strength": "medium",
|
|
1763
|
-
"required": false
|
|
1736
|
+
"required": false,
|
|
1737
|
+
"description": "The metric measures the view, such as time to interactive."
|
|
1764
1738
|
},
|
|
1765
1739
|
"apm.metricinstrument.references.apm.span": {
|
|
1766
1740
|
"id": "apm.metricinstrument.references.apm.span",
|
|
@@ -1771,7 +1745,8 @@
|
|
|
1771
1745
|
"predicate": "references",
|
|
1772
1746
|
"cardinality": "many-to-many",
|
|
1773
1747
|
"strength": "medium",
|
|
1774
|
-
"required": false
|
|
1748
|
+
"required": false,
|
|
1749
|
+
"description": "The metric's exemplars point to spans recorded alongside its measurements."
|
|
1775
1750
|
},
|
|
1776
1751
|
"apm.metricinstrument.satisfies.motivation.requirement": {
|
|
1777
1752
|
"id": "apm.metricinstrument.satisfies.motivation.requirement",
|
|
@@ -1782,40 +1757,20 @@
|
|
|
1782
1757
|
"predicate": "satisfies",
|
|
1783
1758
|
"cardinality": "many-to-many",
|
|
1784
1759
|
"strength": "medium",
|
|
1785
|
-
"required": false
|
|
1760
|
+
"required": false,
|
|
1761
|
+
"description": "The metric provides the measurement a requirement asks for, such as an SLO indicator."
|
|
1786
1762
|
},
|
|
1787
|
-
"apm.resource.aggregates.apm.
|
|
1788
|
-
"id": "apm.resource.aggregates.apm.
|
|
1763
|
+
"apm.resource.aggregates.apm.instrumentationscope": {
|
|
1764
|
+
"id": "apm.resource.aggregates.apm.instrumentationscope",
|
|
1789
1765
|
"source_spec_node_id": "apm.resource",
|
|
1790
1766
|
"source_layer": "apm",
|
|
1791
|
-
"destination_spec_node_id": "apm.
|
|
1792
|
-
"destination_layer": "apm",
|
|
1793
|
-
"predicate": "aggregates",
|
|
1794
|
-
"cardinality": "many-to-many",
|
|
1795
|
-
"strength": "medium",
|
|
1796
|
-
"required": false
|
|
1797
|
-
},
|
|
1798
|
-
"apm.resource.aggregates.apm.metricinstrument": {
|
|
1799
|
-
"id": "apm.resource.aggregates.apm.metricinstrument",
|
|
1800
|
-
"source_spec_node_id": "apm.resource",
|
|
1801
|
-
"source_layer": "apm",
|
|
1802
|
-
"destination_spec_node_id": "apm.metricinstrument",
|
|
1803
|
-
"destination_layer": "apm",
|
|
1804
|
-
"predicate": "aggregates",
|
|
1805
|
-
"cardinality": "many-to-many",
|
|
1806
|
-
"strength": "medium",
|
|
1807
|
-
"required": false
|
|
1808
|
-
},
|
|
1809
|
-
"apm.resource.aggregates.apm.span": {
|
|
1810
|
-
"id": "apm.resource.aggregates.apm.span",
|
|
1811
|
-
"source_spec_node_id": "apm.resource",
|
|
1812
|
-
"source_layer": "apm",
|
|
1813
|
-
"destination_spec_node_id": "apm.span",
|
|
1767
|
+
"destination_spec_node_id": "apm.instrumentationscope",
|
|
1814
1768
|
"destination_layer": "apm",
|
|
1815
1769
|
"predicate": "aggregates",
|
|
1816
1770
|
"cardinality": "many-to-many",
|
|
1817
1771
|
"strength": "medium",
|
|
1818
|
-
"required": false
|
|
1772
|
+
"required": false,
|
|
1773
|
+
"description": "The scope runs in the process the resource identifies, so its telemetry carries the resource."
|
|
1819
1774
|
},
|
|
1820
1775
|
"apm.resource.maps-to.application.applicationcomponent": {
|
|
1821
1776
|
"id": "apm.resource.maps-to.application.applicationcomponent",
|
|
@@ -1826,29 +1781,20 @@
|
|
|
1826
1781
|
"predicate": "maps-to",
|
|
1827
1782
|
"cardinality": "many-to-many",
|
|
1828
1783
|
"strength": "medium",
|
|
1829
|
-
"required": false
|
|
1784
|
+
"required": false,
|
|
1785
|
+
"description": "The resource identifies the application component as the telemetry producer, through service.name."
|
|
1830
1786
|
},
|
|
1831
|
-
"apm.resource.
|
|
1832
|
-
"id": "apm.resource.
|
|
1787
|
+
"apm.resource.references.technology.node": {
|
|
1788
|
+
"id": "apm.resource.references.technology.node",
|
|
1833
1789
|
"source_spec_node_id": "apm.resource",
|
|
1834
1790
|
"source_layer": "apm",
|
|
1835
1791
|
"destination_spec_node_id": "technology.node",
|
|
1836
1792
|
"destination_layer": "technology",
|
|
1837
|
-
"predicate": "
|
|
1838
|
-
"cardinality": "many-to-many",
|
|
1839
|
-
"strength": "medium",
|
|
1840
|
-
"required": false
|
|
1841
|
-
},
|
|
1842
|
-
"apm.resource.monitors.technology.systemsoftware": {
|
|
1843
|
-
"id": "apm.resource.monitors.technology.systemsoftware",
|
|
1844
|
-
"source_spec_node_id": "apm.resource",
|
|
1845
|
-
"source_layer": "apm",
|
|
1846
|
-
"destination_spec_node_id": "technology.systemsoftware",
|
|
1847
|
-
"destination_layer": "technology",
|
|
1848
|
-
"predicate": "monitors",
|
|
1793
|
+
"predicate": "references",
|
|
1849
1794
|
"cardinality": "many-to-many",
|
|
1850
1795
|
"strength": "medium",
|
|
1851
|
-
"required": false
|
|
1796
|
+
"required": false,
|
|
1797
|
+
"description": "The resource identifies the host, container or cloud instance it runs on."
|
|
1852
1798
|
},
|
|
1853
1799
|
"apm.resource.references.security.secureresource": {
|
|
1854
1800
|
"id": "apm.resource.references.security.secureresource",
|
|
@@ -1859,32 +1805,23 @@
|
|
|
1859
1805
|
"predicate": "references",
|
|
1860
1806
|
"cardinality": "many-to-many",
|
|
1861
1807
|
"strength": "medium",
|
|
1862
|
-
"required": false
|
|
1808
|
+
"required": false,
|
|
1809
|
+
"description": "The resource identifies a producer that the security model protects."
|
|
1863
1810
|
},
|
|
1864
|
-
"apm.resource.
|
|
1865
|
-
"id": "apm.resource.
|
|
1811
|
+
"apm.resource.references.technology.systemsoftware": {
|
|
1812
|
+
"id": "apm.resource.references.technology.systemsoftware",
|
|
1866
1813
|
"source_spec_node_id": "apm.resource",
|
|
1867
1814
|
"source_layer": "apm",
|
|
1868
|
-
"destination_spec_node_id": "
|
|
1869
|
-
"destination_layer": "
|
|
1870
|
-
"predicate": "
|
|
1871
|
-
"cardinality": "many-to-many",
|
|
1872
|
-
"strength": "medium",
|
|
1873
|
-
"required": false
|
|
1874
|
-
},
|
|
1875
|
-
"apm.span.accesses.data-store.collection": {
|
|
1876
|
-
"id": "apm.span.accesses.data-store.collection",
|
|
1877
|
-
"source_spec_node_id": "apm.span",
|
|
1878
|
-
"source_layer": "apm",
|
|
1879
|
-
"destination_spec_node_id": "data-store.collection",
|
|
1880
|
-
"destination_layer": "data-store",
|
|
1881
|
-
"predicate": "accesses",
|
|
1815
|
+
"destination_spec_node_id": "technology.systemsoftware",
|
|
1816
|
+
"destination_layer": "technology",
|
|
1817
|
+
"predicate": "references",
|
|
1882
1818
|
"cardinality": "many-to-many",
|
|
1883
1819
|
"strength": "medium",
|
|
1884
|
-
"required": false
|
|
1820
|
+
"required": false,
|
|
1821
|
+
"description": "The resource identifies the runtime or SDK it runs on, such as process.runtime.name."
|
|
1885
1822
|
},
|
|
1886
|
-
"apm.span.aggregates.spanlink": {
|
|
1887
|
-
"id": "apm.span.aggregates.spanlink",
|
|
1823
|
+
"apm.span.aggregates.apm.spanlink": {
|
|
1824
|
+
"id": "apm.span.aggregates.apm.spanlink",
|
|
1888
1825
|
"source_spec_node_id": "apm.span",
|
|
1889
1826
|
"source_layer": "apm",
|
|
1890
1827
|
"destination_spec_node_id": "apm.spanlink",
|
|
@@ -1892,18 +1829,8 @@
|
|
|
1892
1829
|
"predicate": "aggregates",
|
|
1893
1830
|
"cardinality": "one-to-many",
|
|
1894
1831
|
"strength": "medium",
|
|
1895
|
-
"required": false
|
|
1896
|
-
|
|
1897
|
-
"apm.span.composes.apm.metricinstrument": {
|
|
1898
|
-
"id": "apm.span.composes.apm.metricinstrument",
|
|
1899
|
-
"source_spec_node_id": "apm.span",
|
|
1900
|
-
"source_layer": "apm",
|
|
1901
|
-
"destination_spec_node_id": "apm.metricinstrument",
|
|
1902
|
-
"destination_layer": "apm",
|
|
1903
|
-
"predicate": "composes",
|
|
1904
|
-
"cardinality": "many-to-many",
|
|
1905
|
-
"strength": "medium",
|
|
1906
|
-
"required": false
|
|
1832
|
+
"required": false,
|
|
1833
|
+
"description": "The span carries the link to another span that is causally related but not its parent."
|
|
1907
1834
|
},
|
|
1908
1835
|
"apm.span.composes.apm.spanevent": {
|
|
1909
1836
|
"id": "apm.span.composes.apm.spanevent",
|
|
@@ -1914,40 +1841,8 @@
|
|
|
1914
1841
|
"predicate": "composes",
|
|
1915
1842
|
"cardinality": "many-to-many",
|
|
1916
1843
|
"strength": "medium",
|
|
1917
|
-
"required": false
|
|
1918
|
-
|
|
1919
|
-
"apm.span.composes.apm.traceconfiguration": {
|
|
1920
|
-
"id": "apm.span.composes.apm.traceconfiguration",
|
|
1921
|
-
"source_spec_node_id": "apm.span",
|
|
1922
|
-
"source_layer": "apm",
|
|
1923
|
-
"destination_spec_node_id": "apm.traceconfiguration",
|
|
1924
|
-
"destination_layer": "apm",
|
|
1925
|
-
"predicate": "composes",
|
|
1926
|
-
"cardinality": "many-to-many",
|
|
1927
|
-
"strength": "medium",
|
|
1928
|
-
"required": false
|
|
1929
|
-
},
|
|
1930
|
-
"apm.span.depends-on.apm.instrumentationscope": {
|
|
1931
|
-
"id": "apm.span.depends-on.apm.instrumentationscope",
|
|
1932
|
-
"source_spec_node_id": "apm.span",
|
|
1933
|
-
"source_layer": "apm",
|
|
1934
|
-
"destination_spec_node_id": "apm.instrumentationscope",
|
|
1935
|
-
"destination_layer": "apm",
|
|
1936
|
-
"predicate": "depends-on",
|
|
1937
|
-
"cardinality": "many-to-many",
|
|
1938
|
-
"strength": "medium",
|
|
1939
|
-
"required": false
|
|
1940
|
-
},
|
|
1941
|
-
"apm.span.depends-on.apm.resource": {
|
|
1942
|
-
"id": "apm.span.depends-on.apm.resource",
|
|
1943
|
-
"source_spec_node_id": "apm.span",
|
|
1944
|
-
"source_layer": "apm",
|
|
1945
|
-
"destination_spec_node_id": "apm.resource",
|
|
1946
|
-
"destination_layer": "apm",
|
|
1947
|
-
"predicate": "depends-on",
|
|
1948
|
-
"cardinality": "many-to-many",
|
|
1949
|
-
"strength": "medium",
|
|
1950
|
-
"required": false
|
|
1844
|
+
"required": false,
|
|
1845
|
+
"description": "The event is recorded within the span and has no existence outside it."
|
|
1951
1846
|
},
|
|
1952
1847
|
"apm.span.flows-to.apm.exporterconfig": {
|
|
1953
1848
|
"id": "apm.span.flows-to.apm.exporterconfig",
|
|
@@ -1958,18 +1853,8 @@
|
|
|
1958
1853
|
"predicate": "flows-to",
|
|
1959
1854
|
"cardinality": "many-to-many",
|
|
1960
1855
|
"strength": "medium",
|
|
1961
|
-
"required": false
|
|
1962
|
-
|
|
1963
|
-
"apm.span.flows-to.apm.logprocessor": {
|
|
1964
|
-
"id": "apm.span.flows-to.apm.logprocessor",
|
|
1965
|
-
"source_spec_node_id": "apm.span",
|
|
1966
|
-
"source_layer": "apm",
|
|
1967
|
-
"destination_spec_node_id": "apm.logprocessor",
|
|
1968
|
-
"destination_layer": "apm",
|
|
1969
|
-
"predicate": "flows-to",
|
|
1970
|
-
"cardinality": "many-to-many",
|
|
1971
|
-
"strength": "medium",
|
|
1972
|
-
"required": false
|
|
1856
|
+
"required": false,
|
|
1857
|
+
"description": "Spans of this kind are exported through the exporter."
|
|
1973
1858
|
},
|
|
1974
1859
|
"apm.span.flows-to.apm.span": {
|
|
1975
1860
|
"id": "apm.span.flows-to.apm.span",
|
|
@@ -1980,18 +1865,8 @@
|
|
|
1980
1865
|
"predicate": "flows-to",
|
|
1981
1866
|
"cardinality": "many-to-many",
|
|
1982
1867
|
"strength": "medium",
|
|
1983
|
-
"required": false
|
|
1984
|
-
|
|
1985
|
-
"apm.span.maps-to.business.businessprocess": {
|
|
1986
|
-
"id": "apm.span.maps-to.business.businessprocess",
|
|
1987
|
-
"source_spec_node_id": "apm.span",
|
|
1988
|
-
"source_layer": "apm",
|
|
1989
|
-
"destination_spec_node_id": "business.businessprocess",
|
|
1990
|
-
"destination_layer": "business",
|
|
1991
|
-
"predicate": "maps-to",
|
|
1992
|
-
"cardinality": "many-to-many",
|
|
1993
|
-
"strength": "medium",
|
|
1994
|
-
"required": false
|
|
1868
|
+
"required": false,
|
|
1869
|
+
"description": "The span hands work on to a later span outside its parent-child tree, such as a message published here and consumed there. Use references instead for the parent."
|
|
1995
1870
|
},
|
|
1996
1871
|
"apm.span.monitors.application.applicationcomponent": {
|
|
1997
1872
|
"id": "apm.span.monitors.application.applicationcomponent",
|
|
@@ -2002,7 +1877,8 @@
|
|
|
2002
1877
|
"predicate": "monitors",
|
|
2003
1878
|
"cardinality": "many-to-many",
|
|
2004
1879
|
"strength": "medium",
|
|
2005
|
-
"required": false
|
|
1880
|
+
"required": false,
|
|
1881
|
+
"description": "The span records work done by the component."
|
|
2006
1882
|
},
|
|
2007
1883
|
"apm.span.monitors.application.applicationservice": {
|
|
2008
1884
|
"id": "apm.span.monitors.application.applicationservice",
|
|
@@ -2013,7 +1889,20 @@
|
|
|
2013
1889
|
"predicate": "monitors",
|
|
2014
1890
|
"cardinality": "many-to-many",
|
|
2015
1891
|
"strength": "medium",
|
|
2016
|
-
"required": false
|
|
1892
|
+
"required": false,
|
|
1893
|
+
"description": "The span records a request to the service."
|
|
1894
|
+
},
|
|
1895
|
+
"apm.span.monitors.data-store.collection": {
|
|
1896
|
+
"id": "apm.span.monitors.data-store.collection",
|
|
1897
|
+
"source_spec_node_id": "apm.span",
|
|
1898
|
+
"source_layer": "apm",
|
|
1899
|
+
"destination_spec_node_id": "data-store.collection",
|
|
1900
|
+
"destination_layer": "data-store",
|
|
1901
|
+
"predicate": "monitors",
|
|
1902
|
+
"cardinality": "many-to-many",
|
|
1903
|
+
"strength": "medium",
|
|
1904
|
+
"required": false,
|
|
1905
|
+
"description": "The span records a database call against the collection."
|
|
2017
1906
|
},
|
|
2018
1907
|
"apm.span.monitors.data-store.database": {
|
|
2019
1908
|
"id": "apm.span.monitors.data-store.database",
|
|
@@ -2024,7 +1913,8 @@
|
|
|
2024
1913
|
"predicate": "monitors",
|
|
2025
1914
|
"cardinality": "many-to-many",
|
|
2026
1915
|
"strength": "medium",
|
|
2027
|
-
"required": false
|
|
1916
|
+
"required": false,
|
|
1917
|
+
"description": "The span records a call to the database."
|
|
2028
1918
|
},
|
|
2029
1919
|
"apm.span.monitors.navigation.navigationflow": {
|
|
2030
1920
|
"id": "apm.span.monitors.navigation.navigationflow",
|
|
@@ -2035,7 +1925,8 @@
|
|
|
2035
1925
|
"predicate": "monitors",
|
|
2036
1926
|
"cardinality": "many-to-many",
|
|
2037
1927
|
"strength": "medium",
|
|
2038
|
-
"required": false
|
|
1928
|
+
"required": false,
|
|
1929
|
+
"description": "The span records the user's progress through the flow."
|
|
2039
1930
|
},
|
|
2040
1931
|
"apm.span.monitors.navigation.navigationguard": {
|
|
2041
1932
|
"id": "apm.span.monitors.navigation.navigationguard",
|
|
@@ -2046,18 +1937,8 @@
|
|
|
2046
1937
|
"predicate": "monitors",
|
|
2047
1938
|
"cardinality": "many-to-many",
|
|
2048
1939
|
"strength": "medium",
|
|
2049
|
-
"required": false
|
|
2050
|
-
|
|
2051
|
-
"apm.span.monitors.data-model.objectschema": {
|
|
2052
|
-
"id": "apm.span.monitors.data-model.objectschema",
|
|
2053
|
-
"source_spec_node_id": "apm.span",
|
|
2054
|
-
"source_layer": "apm",
|
|
2055
|
-
"destination_spec_node_id": "data-model.objectschema",
|
|
2056
|
-
"destination_layer": "data-model",
|
|
2057
|
-
"predicate": "monitors",
|
|
2058
|
-
"cardinality": "many-to-many",
|
|
2059
|
-
"strength": "medium",
|
|
2060
|
-
"required": false
|
|
1940
|
+
"required": false,
|
|
1941
|
+
"description": "The span records the guard's evaluation."
|
|
2061
1942
|
},
|
|
2062
1943
|
"apm.span.monitors.api.operation": {
|
|
2063
1944
|
"id": "apm.span.monitors.api.operation",
|
|
@@ -2068,7 +1949,8 @@
|
|
|
2068
1949
|
"predicate": "monitors",
|
|
2069
1950
|
"cardinality": "many-to-many",
|
|
2070
1951
|
"strength": "medium",
|
|
2071
|
-
"required": false
|
|
1952
|
+
"required": false,
|
|
1953
|
+
"description": "The span records a call to the operation, usually a server or client span."
|
|
2072
1954
|
},
|
|
2073
1955
|
"apm.span.monitors.navigation.route": {
|
|
2074
1956
|
"id": "apm.span.monitors.navigation.route",
|
|
@@ -2079,7 +1961,8 @@
|
|
|
2079
1961
|
"predicate": "monitors",
|
|
2080
1962
|
"cardinality": "many-to-many",
|
|
2081
1963
|
"strength": "medium",
|
|
2082
|
-
"required": false
|
|
1964
|
+
"required": false,
|
|
1965
|
+
"description": "The span records a navigation to the route."
|
|
2083
1966
|
},
|
|
2084
1967
|
"apm.span.monitors.security.secureresource": {
|
|
2085
1968
|
"id": "apm.span.monitors.security.secureresource",
|
|
@@ -2090,7 +1973,8 @@
|
|
|
2090
1973
|
"predicate": "monitors",
|
|
2091
1974
|
"cardinality": "many-to-many",
|
|
2092
1975
|
"strength": "medium",
|
|
2093
|
-
"required": false
|
|
1976
|
+
"required": false,
|
|
1977
|
+
"description": "The span records access to a protected resource."
|
|
2094
1978
|
},
|
|
2095
1979
|
"apm.span.monitors.technology.technologyservice": {
|
|
2096
1980
|
"id": "apm.span.monitors.technology.technologyservice",
|
|
@@ -2101,7 +1985,8 @@
|
|
|
2101
1985
|
"predicate": "monitors",
|
|
2102
1986
|
"cardinality": "many-to-many",
|
|
2103
1987
|
"strength": "medium",
|
|
2104
|
-
"required": false
|
|
1988
|
+
"required": false,
|
|
1989
|
+
"description": "The span records a call to the platform service, such as a queue publish."
|
|
2105
1990
|
},
|
|
2106
1991
|
"apm.span.monitors.ux.view": {
|
|
2107
1992
|
"id": "apm.span.monitors.ux.view",
|
|
@@ -2112,7 +1997,8 @@
|
|
|
2112
1997
|
"predicate": "monitors",
|
|
2113
1998
|
"cardinality": "many-to-many",
|
|
2114
1999
|
"strength": "medium",
|
|
2115
|
-
"required": false
|
|
2000
|
+
"required": false,
|
|
2001
|
+
"description": "The span records rendering or loading the view."
|
|
2116
2002
|
},
|
|
2117
2003
|
"apm.span.references.data-model.schemadefinition": {
|
|
2118
2004
|
"id": "apm.span.references.data-model.schemadefinition",
|
|
@@ -2123,7 +2009,8 @@
|
|
|
2123
2009
|
"predicate": "references",
|
|
2124
2010
|
"cardinality": "many-to-many",
|
|
2125
2011
|
"strength": "medium",
|
|
2126
|
-
"required": false
|
|
2012
|
+
"required": false,
|
|
2013
|
+
"description": "The span's attributes follow the schema definition."
|
|
2127
2014
|
},
|
|
2128
2015
|
"apm.span.references.apm.span": {
|
|
2129
2016
|
"id": "apm.span.references.apm.span",
|
|
@@ -2134,51 +2021,8 @@
|
|
|
2134
2021
|
"predicate": "references",
|
|
2135
2022
|
"cardinality": "many-to-many",
|
|
2136
2023
|
"strength": "medium",
|
|
2137
|
-
"required": false
|
|
2138
|
-
|
|
2139
|
-
"apm.spanevent.depends-on.apm.instrumentationscope": {
|
|
2140
|
-
"id": "apm.spanevent.depends-on.apm.instrumentationscope",
|
|
2141
|
-
"source_spec_node_id": "apm.spanevent",
|
|
2142
|
-
"source_layer": "apm",
|
|
2143
|
-
"destination_spec_node_id": "apm.instrumentationscope",
|
|
2144
|
-
"destination_layer": "apm",
|
|
2145
|
-
"predicate": "depends-on",
|
|
2146
|
-
"cardinality": "many-to-many",
|
|
2147
|
-
"strength": "medium",
|
|
2148
|
-
"required": false
|
|
2149
|
-
},
|
|
2150
|
-
"apm.spanevent.depends-on.apm.resource": {
|
|
2151
|
-
"id": "apm.spanevent.depends-on.apm.resource",
|
|
2152
|
-
"source_spec_node_id": "apm.spanevent",
|
|
2153
|
-
"source_layer": "apm",
|
|
2154
|
-
"destination_spec_node_id": "apm.resource",
|
|
2155
|
-
"destination_layer": "apm",
|
|
2156
|
-
"predicate": "depends-on",
|
|
2157
|
-
"cardinality": "many-to-many",
|
|
2158
|
-
"strength": "medium",
|
|
2159
|
-
"required": false
|
|
2160
|
-
},
|
|
2161
|
-
"apm.spanevent.depends-on.apm.traceconfiguration": {
|
|
2162
|
-
"id": "apm.spanevent.depends-on.apm.traceconfiguration",
|
|
2163
|
-
"source_spec_node_id": "apm.spanevent",
|
|
2164
|
-
"source_layer": "apm",
|
|
2165
|
-
"destination_spec_node_id": "apm.traceconfiguration",
|
|
2166
|
-
"destination_layer": "apm",
|
|
2167
|
-
"predicate": "depends-on",
|
|
2168
|
-
"cardinality": "many-to-many",
|
|
2169
|
-
"strength": "medium",
|
|
2170
|
-
"required": false
|
|
2171
|
-
},
|
|
2172
|
-
"apm.spanevent.flows-to.apm.exporterconfig": {
|
|
2173
|
-
"id": "apm.spanevent.flows-to.apm.exporterconfig",
|
|
2174
|
-
"source_spec_node_id": "apm.spanevent",
|
|
2175
|
-
"source_layer": "apm",
|
|
2176
|
-
"destination_spec_node_id": "apm.exporterconfig",
|
|
2177
|
-
"destination_layer": "apm",
|
|
2178
|
-
"predicate": "flows-to",
|
|
2179
|
-
"cardinality": "many-to-many",
|
|
2180
|
-
"strength": "medium",
|
|
2181
|
-
"required": false
|
|
2024
|
+
"required": false,
|
|
2025
|
+
"description": "The span's parent: the span it was started inside of."
|
|
2182
2026
|
},
|
|
2183
2027
|
"apm.spanevent.monitors.ux.actioncomponent": {
|
|
2184
2028
|
"id": "apm.spanevent.monitors.ux.actioncomponent",
|
|
@@ -2189,7 +2033,8 @@
|
|
|
2189
2033
|
"predicate": "monitors",
|
|
2190
2034
|
"cardinality": "many-to-many",
|
|
2191
2035
|
"strength": "medium",
|
|
2192
|
-
"required": false
|
|
2036
|
+
"required": false,
|
|
2037
|
+
"description": "The span event records an interaction with the action component, such as a click inside a page-load span."
|
|
2193
2038
|
},
|
|
2194
2039
|
"apm.spanevent.references.apm.logrecord": {
|
|
2195
2040
|
"id": "apm.spanevent.references.apm.logrecord",
|
|
@@ -2200,18 +2045,8 @@
|
|
|
2200
2045
|
"predicate": "references",
|
|
2201
2046
|
"cardinality": "many-to-many",
|
|
2202
2047
|
"strength": "medium",
|
|
2203
|
-
"required": false
|
|
2204
|
-
|
|
2205
|
-
"apm.spanevent.triggers.apm.metricinstrument": {
|
|
2206
|
-
"id": "apm.spanevent.triggers.apm.metricinstrument",
|
|
2207
|
-
"source_spec_node_id": "apm.spanevent",
|
|
2208
|
-
"source_layer": "apm",
|
|
2209
|
-
"destination_spec_node_id": "apm.metricinstrument",
|
|
2210
|
-
"destination_layer": "apm",
|
|
2211
|
-
"predicate": "triggers",
|
|
2212
|
-
"cardinality": "many-to-many",
|
|
2213
|
-
"strength": "medium",
|
|
2214
|
-
"required": false
|
|
2048
|
+
"required": false,
|
|
2049
|
+
"description": "The span event has a matching log record, such as an exception event logged as well."
|
|
2215
2050
|
},
|
|
2216
2051
|
"apm.spanlink.references.apm.span": {
|
|
2217
2052
|
"id": "apm.spanlink.references.apm.span",
|
|
@@ -2222,7 +2057,8 @@
|
|
|
2222
2057
|
"predicate": "references",
|
|
2223
2058
|
"cardinality": "many-to-many",
|
|
2224
2059
|
"strength": "medium",
|
|
2225
|
-
"required": false
|
|
2060
|
+
"required": false,
|
|
2061
|
+
"description": "The link points to the span it identifies."
|
|
2226
2062
|
},
|
|
2227
2063
|
"apm.traceconfiguration.aggregates.apm.exporterconfig": {
|
|
2228
2064
|
"id": "apm.traceconfiguration.aggregates.apm.exporterconfig",
|
|
@@ -2233,95 +2069,20 @@
|
|
|
2233
2069
|
"predicate": "aggregates",
|
|
2234
2070
|
"cardinality": "many-to-many",
|
|
2235
2071
|
"strength": "medium",
|
|
2236
|
-
"required": false
|
|
2237
|
-
|
|
2238
|
-
"apm.traceconfiguration.aggregates.apm.metricinstrument": {
|
|
2239
|
-
"id": "apm.traceconfiguration.aggregates.apm.metricinstrument",
|
|
2240
|
-
"source_spec_node_id": "apm.traceconfiguration",
|
|
2241
|
-
"source_layer": "apm",
|
|
2242
|
-
"destination_spec_node_id": "apm.metricinstrument",
|
|
2243
|
-
"destination_layer": "apm",
|
|
2244
|
-
"predicate": "aggregates",
|
|
2245
|
-
"cardinality": "many-to-many",
|
|
2246
|
-
"strength": "medium",
|
|
2247
|
-
"required": false
|
|
2072
|
+
"required": false,
|
|
2073
|
+
"description": "The tracer provider sends spans to the exporter."
|
|
2248
2074
|
},
|
|
2249
|
-
"apm.traceconfiguration.
|
|
2250
|
-
"id": "apm.traceconfiguration.
|
|
2075
|
+
"apm.traceconfiguration.depends-on.apm.resource": {
|
|
2076
|
+
"id": "apm.traceconfiguration.depends-on.apm.resource",
|
|
2251
2077
|
"source_spec_node_id": "apm.traceconfiguration",
|
|
2252
2078
|
"source_layer": "apm",
|
|
2253
|
-
"destination_spec_node_id": "apm.
|
|
2079
|
+
"destination_spec_node_id": "apm.resource",
|
|
2254
2080
|
"destination_layer": "apm",
|
|
2255
|
-
"predicate": "aggregates",
|
|
2256
|
-
"cardinality": "many-to-many",
|
|
2257
|
-
"strength": "medium",
|
|
2258
|
-
"required": false
|
|
2259
|
-
},
|
|
2260
|
-
"apm.traceconfiguration.depends-on.data-store.database": {
|
|
2261
|
-
"id": "apm.traceconfiguration.depends-on.data-store.database",
|
|
2262
|
-
"source_spec_node_id": "apm.traceconfiguration",
|
|
2263
|
-
"source_layer": "apm",
|
|
2264
|
-
"destination_spec_node_id": "data-store.database",
|
|
2265
|
-
"destination_layer": "data-store",
|
|
2266
2081
|
"predicate": "depends-on",
|
|
2267
2082
|
"cardinality": "many-to-many",
|
|
2268
2083
|
"strength": "medium",
|
|
2269
|
-
"required": false
|
|
2270
|
-
|
|
2271
|
-
"apm.traceconfiguration.depends-on.technology.technologyservice": {
|
|
2272
|
-
"id": "apm.traceconfiguration.depends-on.technology.technologyservice",
|
|
2273
|
-
"source_spec_node_id": "apm.traceconfiguration",
|
|
2274
|
-
"source_layer": "apm",
|
|
2275
|
-
"destination_spec_node_id": "technology.technologyservice",
|
|
2276
|
-
"destination_layer": "technology",
|
|
2277
|
-
"predicate": "depends-on",
|
|
2278
|
-
"cardinality": "many-to-many",
|
|
2279
|
-
"strength": "medium",
|
|
2280
|
-
"required": false
|
|
2281
|
-
},
|
|
2282
|
-
"apm.traceconfiguration.monitors.application.applicationservice": {
|
|
2283
|
-
"id": "apm.traceconfiguration.monitors.application.applicationservice",
|
|
2284
|
-
"source_spec_node_id": "apm.traceconfiguration",
|
|
2285
|
-
"source_layer": "apm",
|
|
2286
|
-
"destination_spec_node_id": "application.applicationservice",
|
|
2287
|
-
"destination_layer": "application",
|
|
2288
|
-
"predicate": "monitors",
|
|
2289
|
-
"cardinality": "many-to-many",
|
|
2290
|
-
"strength": "medium",
|
|
2291
|
-
"required": false
|
|
2292
|
-
},
|
|
2293
|
-
"apm.traceconfiguration.monitors.business.businessservice": {
|
|
2294
|
-
"id": "apm.traceconfiguration.monitors.business.businessservice",
|
|
2295
|
-
"source_spec_node_id": "apm.traceconfiguration",
|
|
2296
|
-
"source_layer": "apm",
|
|
2297
|
-
"destination_spec_node_id": "business.businessservice",
|
|
2298
|
-
"destination_layer": "business",
|
|
2299
|
-
"predicate": "monitors",
|
|
2300
|
-
"cardinality": "many-to-many",
|
|
2301
|
-
"strength": "medium",
|
|
2302
|
-
"required": false
|
|
2303
|
-
},
|
|
2304
|
-
"apm.traceconfiguration.monitors.navigation.route": {
|
|
2305
|
-
"id": "apm.traceconfiguration.monitors.navigation.route",
|
|
2306
|
-
"source_spec_node_id": "apm.traceconfiguration",
|
|
2307
|
-
"source_layer": "apm",
|
|
2308
|
-
"destination_spec_node_id": "navigation.route",
|
|
2309
|
-
"destination_layer": "navigation",
|
|
2310
|
-
"predicate": "monitors",
|
|
2311
|
-
"cardinality": "many-to-many",
|
|
2312
|
-
"strength": "medium",
|
|
2313
|
-
"required": false
|
|
2314
|
-
},
|
|
2315
|
-
"apm.traceconfiguration.monitors.ux.uxapplication": {
|
|
2316
|
-
"id": "apm.traceconfiguration.monitors.ux.uxapplication",
|
|
2317
|
-
"source_spec_node_id": "apm.traceconfiguration",
|
|
2318
|
-
"source_layer": "apm",
|
|
2319
|
-
"destination_spec_node_id": "ux.uxapplication",
|
|
2320
|
-
"destination_layer": "ux",
|
|
2321
|
-
"predicate": "monitors",
|
|
2322
|
-
"cardinality": "many-to-many",
|
|
2323
|
-
"strength": "medium",
|
|
2324
|
-
"required": false
|
|
2084
|
+
"required": false,
|
|
2085
|
+
"description": "The tracer provider is built with the resource, which it attaches to every span."
|
|
2325
2086
|
},
|
|
2326
2087
|
"apm.traceconfiguration.references.api.operation": {
|
|
2327
2088
|
"id": "apm.traceconfiguration.references.api.operation",
|
|
@@ -2332,7 +2093,8 @@
|
|
|
2332
2093
|
"predicate": "references",
|
|
2333
2094
|
"cardinality": "many-to-many",
|
|
2334
2095
|
"strength": "medium",
|
|
2335
|
-
"required": false
|
|
2096
|
+
"required": false,
|
|
2097
|
+
"description": "The trace configuration names an operation, such as one excluded from sampling."
|
|
2336
2098
|
},
|
|
2337
2099
|
"apm.traceconfiguration.references.api.server": {
|
|
2338
2100
|
"id": "apm.traceconfiguration.references.api.server",
|
|
@@ -2343,7 +2105,8 @@
|
|
|
2343
2105
|
"predicate": "references",
|
|
2344
2106
|
"cardinality": "many-to-many",
|
|
2345
2107
|
"strength": "medium",
|
|
2346
|
-
"required": false
|
|
2108
|
+
"required": false,
|
|
2109
|
+
"description": "The trace configuration names the server whose calls carry the propagated context."
|
|
2347
2110
|
},
|
|
2348
2111
|
"apm.traceconfiguration.satisfies.motivation.requirement": {
|
|
2349
2112
|
"id": "apm.traceconfiguration.satisfies.motivation.requirement",
|
|
@@ -2354,7 +2117,8 @@
|
|
|
2354
2117
|
"predicate": "satisfies",
|
|
2355
2118
|
"cardinality": "many-to-many",
|
|
2356
2119
|
"strength": "medium",
|
|
2357
|
-
"required": false
|
|
2120
|
+
"required": false,
|
|
2121
|
+
"description": "The trace configuration meets a requirement, such as tracing a share of all requests."
|
|
2358
2122
|
},
|
|
2359
2123
|
"apm.traceconfiguration.satisfies.security.securitypolicy": {
|
|
2360
2124
|
"id": "apm.traceconfiguration.satisfies.security.securitypolicy",
|
|
@@ -2365,7 +2129,8 @@
|
|
|
2365
2129
|
"predicate": "satisfies",
|
|
2366
2130
|
"cardinality": "many-to-many",
|
|
2367
2131
|
"strength": "medium",
|
|
2368
|
-
"required": false
|
|
2132
|
+
"required": false,
|
|
2133
|
+
"description": "The trace configuration applies a security policy, such as not propagating context to external parties."
|
|
2369
2134
|
}
|
|
2370
2135
|
}
|
|
2371
2136
|
}
|