-
Notifications
You must be signed in to change notification settings - Fork 38
/
Copy pathcomponent-telemetry-schema-proposal.yaml
65 lines (60 loc) · 2.76 KB
/
component-telemetry-schema-proposal.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# This file describes the structure and format of a component telemetry schema.
# A component telemetry schema can be used for three types of purposes:
# - defining the telemetry schema for an application or a service
# - defining the telemetry schema for a library
# - defining a semantic convention registry
file_format: 1.2.0
schema_url: <url-of-the-current-component-schema>
# This optional field allows to specify the parent schema of the current schema.
# The parent schema is a resolved schema.
parent_schema_url: <url-of-a-parent-resolved-schema>
# This optional section allows for importing a semantic convention registry
# from a git repository containing a set of semantic convention files. It is
# also possible to import file by file.
semantic_conventions:
- git_url: <git-url-of-the-semantic-conventions-repository>
path: <path-to-the-semantic-conventions-directory-inside-the-git-repo>
- url: <url-of-the-semantic-conventions-file>
# The resource field is defined when the component schema is that of an
# application (as opposed to that of a library). The resource field contains a
# list of local references to attributes defined in the shared catalog within
# this file.
resource:
# attributes defined locally or inherited from the parent schema (if any) or
# from the semantic conventions (if any).
attributes: # attribute definitions
# This optional section defines the instrumentation library, its version, and
# the schema of OTel entities reported by this instrumentation library (
# representing an application or a library component).
# This section is not defined if the current component telemetry schema is only
# used to represent a semantic convention registry.
instrumentation_library:
name: <instrumentation-library-name>
version: <instrumentation-library-version>
# The schema details all the metrics, logs, and spans specifically generated
# by that instrumentation library.
schema:
# Declaration of all the univariate metrics
resource_metrics:
- metric_name: <metric-id>
# attributes defined locally or inherited from the parent schema (if any) or
# from the semantic conventions (if any).
attributes: # attribute definitions
# ...
# other metric fields
# ...
tags:
<tag-key>: <tag-value>
# Declaration of all the spans
resource_spans:
- span_name: <span-id>
# attributes defined locally or inherited from the parent schema (if any) or
# from the semantic conventions (if any).
attributes: # attribute definitions
# ...
# other span fields
# ...
tags:
<tag-key>: <tag-value>
# Reuse the same versioning mechanism already defined in the telemetry schema v1.1.0
versions: # see telemetry schema v1.1.0.