From 0d963c4016d96972bf0bfa51b23074d05bea8ec9 Mon Sep 17 00:00:00 2001 From: Liudmila Molkova Date: Tue, 5 Mar 2024 17:28:09 -0800 Subject: [PATCH] [chore] Mark attributes and metrics as experimental explicitly (#781) --- model/faas-common.yaml | 4 ++ model/general.yaml | 4 ++ model/logs/events.yaml | 1 + model/logs/general.yaml | 1 + model/logs/media.yaml | 5 +++ model/logs/mobile-events.yaml | 2 + model/metrics/database-metrics.yaml | 11 +++++ model/metrics/faas-metrics.yaml | 9 +++++ model/metrics/http.yaml | 5 +++ model/metrics/jvm-metrics-experimental.yaml | 7 ++++ model/metrics/messaging.yaml | 7 ++++ model/metrics/process-metrics.yaml | 17 ++++++-- model/metrics/rpc-metrics.yaml | 10 +++++ model/metrics/system-metrics.yaml | 40 +++++++++++++++++++ model/registry/browser.yaml | 4 ++ model/registry/cloud.yaml | 7 +++- model/registry/code.yaml | 6 +++ model/registry/container.yaml | 11 +++++ model/registry/db.yaml | 30 ++++++++++++++ model/registry/destination.yaml | 2 + model/registry/device.yaml | 4 ++ model/registry/disk.yaml | 1 + model/registry/host.yaml | 15 +++++++ model/registry/k8s.yaml | 23 +++++++++++ model/registry/messaging.yaml | 37 +++++++++++++++++ model/registry/network.yaml | 7 ++++ model/registry/oci.yaml | 1 + model/registry/os.yaml | 5 +++ model/registry/process.yaml | 11 +++++ model/registry/rpc.yaml | 13 ++++++ model/registry/source.yaml | 2 + model/registry/thread.yaml | 2 + model/registry/tls.yaml | 29 ++++++++++++++ model/registry/url.yaml | 7 ++++ model/registry/user-agent.yaml | 2 + model/resource/android.yaml | 1 + model/resource/cloud_provider/aws/ecs.yaml | 7 ++++ model/resource/cloud_provider/aws/eks.yaml | 1 + model/resource/cloud_provider/aws/logs.yaml | 4 ++ .../cloud_provider/gcp/cloud_run.yaml | 2 + model/resource/cloud_provider/gcp/gce.yaml | 2 + model/resource/cloud_provider/heroku.yaml | 3 ++ model/resource/deployment_environment.yaml | 1 + model/resource/faas.yaml | 4 ++ model/resource/service_experimental.yaml | 2 + model/resource/telemetry_experimental.yaml | 2 + model/resource/webengine.yaml | 3 ++ model/scope/exporter/exporter.yaml | 8 ++-- model/session.yaml | 2 + model/trace/aws/lambda.yaml | 1 + model/trace/cloudevents.yaml | 5 +++ model/trace/compatibility.yaml | 1 + model/trace/faas.yaml | 10 ++++- model/trace/feature-flag.yaml | 3 ++ model/trace/instrumentation/aws-sdk.yml | 29 ++++++++++++++ model/trace/instrumentation/graphql.yml | 3 ++ model/trace/rpc.yaml | 4 ++ 57 files changed, 429 insertions(+), 11 deletions(-) diff --git a/model/faas-common.yaml b/model/faas-common.yaml index 7f903bb57f..11a8b430c0 100644 --- a/model/faas-common.yaml +++ b/model/faas-common.yaml @@ -24,8 +24,10 @@ groups: - id: other value: 'other' brief: 'If none of the others apply' + stability: experimental - id: invoked_name type: string + stability: experimental requirement_level: required brief: > The name of the invoked function. @@ -52,6 +54,7 @@ groups: - id: 'tencent_cloud' value: 'tencent_cloud' brief: 'Tencent Cloud' + stability: experimental requirement_level: required brief: > The cloud provider of the invoked function. @@ -60,6 +63,7 @@ groups: invoked function. - id: invoked_region type: string + stability: experimental requirement_level: conditionally_required: > For some cloud providers, like AWS or GCP, the region in which a diff --git a/model/general.yaml b/model/general.yaml index e3bad3d46a..ec38d6e8dd 100644 --- a/model/general.yaml +++ b/model/general.yaml @@ -34,6 +34,7 @@ groups: attributes: - id: service type: string + stability: experimental brief: > The [`service.name`](/docs/resource/README.md#service) of the remote service. SHOULD be equal to the actual `service.name` @@ -47,6 +48,7 @@ groups: attributes: - id: id type: string + stability: experimental brief: > Username or client_id extracted from the access token or [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) @@ -54,10 +56,12 @@ groups: examples: 'username' - id: role type: string + stability: experimental brief: 'Actual/assumed role the client is making the request under extracted from token or application security context.' examples: 'admin' - id: scope type: string + stability: experimental brief: > Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated diff --git a/model/logs/events.yaml b/model/logs/events.yaml index 3942d432fd..a1ecf5f538 100644 --- a/model/logs/events.yaml +++ b/model/logs/events.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: name type: string + stability: experimental requirement_level: required brief: > Identifies the class / type of event. diff --git a/model/logs/general.yaml b/model/logs/general.yaml index 48da970c13..e8f9ea5853 100644 --- a/model/logs/general.yaml +++ b/model/logs/general.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: uid type: string + stability: experimental requirement_level: opt_in brief: > A unique identifier for the Log Record. diff --git a/model/logs/media.yaml b/model/logs/media.yaml index b8d1c29975..d2ac89f470 100644 --- a/model/logs/media.yaml +++ b/model/logs/media.yaml @@ -6,6 +6,7 @@ groups: attributes: - id: iostream requirement_level: opt_in + stability: experimental brief: > The stream associated with the log. See below for a list of well-known values. type: @@ -25,24 +26,28 @@ groups: attributes: - id: name type: string + stability: experimental requirement_level: recommended brief: > The basename of the file. examples: ["audit.log"] - id: path type: string + stability: experimental requirement_level: opt_in brief: > The full path to the file. examples: [ "/var/log/mysql/audit.log" ] - id: name_resolved type: string + stability: experimental requirement_level: opt_in brief: > The basename of the file, with symlinks resolved. examples: [ "uuid.log" ] - id: path_resolved type: string + stability: experimental requirement_level: opt_in brief: > The full path to the file, with symlinks resolved. diff --git a/model/logs/mobile-events.yaml b/model/logs/mobile-events.yaml index d6f49e70c5..0ae14ca975 100644 --- a/model/logs/mobile-events.yaml +++ b/model/logs/mobile-events.yaml @@ -7,6 +7,7 @@ groups: This event represents an occurrence of a lifecycle transition on the iOS platform. attributes: - id: state + stability: experimental requirement_level: "required" note: > The iOS lifecycle states are defined in the [UIApplicationDelegate documentation](https://developer.apple.com/documentation/uikit/uiapplicationdelegate#1656902), @@ -46,6 +47,7 @@ groups: This event represents an occurrence of a lifecycle transition on the Android platform. attributes: - id: state + stability: experimental requirement_level: required brief: > This attribute represents the state the application has transitioned into at the occurrence of the event. diff --git a/model/metrics/database-metrics.yaml b/model/metrics/database-metrics.yaml index 097ff79abf..0691e6c625 100644 --- a/model/metrics/database-metrics.yaml +++ b/model/metrics/database-metrics.yaml @@ -4,6 +4,7 @@ groups: brief: Describes Database attributes attributes: - id: state + stability: experimental type: allow_custom_values: false members: @@ -16,6 +17,7 @@ groups: examples: ["idle"] - id: pool.name type: string + stability: experimental requirement_level: required brief: > The name of the connection pool; unique within the instrumented application. @@ -27,6 +29,7 @@ groups: - id: metric.db.client.connections.usage type: metric metric_name: db.client.connections.usage + stability: experimental brief: "The number of connections that are currently in state described by the `state` attribute" instrument: updowncounter unit: "{connection}" @@ -37,6 +40,7 @@ groups: - id: metric.db.client.connections.idle.max type: metric metric_name: db.client.connections.idle.max + stability: experimental brief: "The maximum number of idle open connections allowed" instrument: updowncounter unit: "{connection}" @@ -46,6 +50,7 @@ groups: - id: metric.db.client.connections.idle.min type: metric metric_name: db.client.connections.idle.min + stability: experimental brief: "The minimum number of idle open connections allowed" instrument: updowncounter unit: "{connection}" @@ -55,6 +60,7 @@ groups: - id: metric.db.client.connections.max type: metric metric_name: db.client.connections.max + stability: experimental brief: "The maximum number of open connections allowed" instrument: updowncounter unit: "{connection}" @@ -64,6 +70,7 @@ groups: - id: metric.db.client.connections.pending_requests type: metric metric_name: db.client.connections.pending_requests + stability: experimental brief: "The number of pending requests for an open connection, cumulative for the entire pool" instrument: updowncounter unit: "{request}" @@ -73,6 +80,7 @@ groups: - id: metric.db.client.connections.timeouts type: metric metric_name: db.client.connections.timeouts + stability: experimental brief: "The number of connection timeouts that have occurred trying to obtain a connection from the pool" instrument: counter unit: "{timeout}" @@ -82,6 +90,7 @@ groups: - id: metric.db.client.connections.create_time type: metric metric_name: db.client.connections.create_time + stability: experimental brief: "The time it took to create a new connection" instrument: histogram unit: "ms" @@ -91,6 +100,7 @@ groups: - id: metric.db.client.connections.wait_time type: metric metric_name: db.client.connections.wait_time + stability: experimental brief: "The time it took to obtain an open connection from the pool" instrument: histogram unit: "ms" @@ -100,6 +110,7 @@ groups: - id: metric.db.client.connections.use_time type: metric metric_name: db.client.connections.use_time + stability: experimental brief: "The time between borrowing a connection and returning it to the pool" instrument: histogram unit: "ms" diff --git a/model/metrics/faas-metrics.yaml b/model/metrics/faas-metrics.yaml index d68119f320..238e49df77 100644 --- a/model/metrics/faas-metrics.yaml +++ b/model/metrics/faas-metrics.yaml @@ -2,6 +2,7 @@ groups: - id: metric.faas.invoke_duration type: metric metric_name: faas.invoke_duration + stability: experimental brief: "Measures the duration of the function's logic execution" instrument: histogram unit: "s" @@ -11,6 +12,7 @@ groups: - id: metric.faas.init_duration type: metric metric_name: faas.init_duration + stability: experimental brief: "Measures the duration of the function's initialization, such as a cold start" instrument: histogram unit: "s" @@ -20,6 +22,7 @@ groups: - id: metric.faas.coldstarts type: metric metric_name: faas.coldstarts + stability: experimental brief: "Number of invocation cold starts" instrument: counter unit: "{coldstart}" @@ -29,6 +32,7 @@ groups: - id: metric.faas.errors type: metric metric_name: faas.errors + stability: experimental brief: "Number of invocation errors" instrument: counter unit: "{error}" @@ -38,6 +42,7 @@ groups: - id: metric.faas.invocations type: metric metric_name: faas.invocations + stability: experimental brief: "Number of successful invocations" instrument: counter unit: "{invocation}" @@ -47,6 +52,7 @@ groups: - id: metric.faas.timeouts type: metric metric_name: faas.timeouts + stability: experimental brief: "Number of invocation timeouts" instrument: counter unit: "{timeout}" @@ -56,6 +62,7 @@ groups: - id: metric.faas.mem_usage type: metric metric_name: faas.mem_usage + stability: experimental brief: "Distribution of max memory usage per invocation" instrument: histogram unit: "By" @@ -65,6 +72,7 @@ groups: - id: metric.faas.cpu_usage type: metric metric_name: faas.cpu_usage + stability: experimental brief: "Distribution of CPU usage per invocation" instrument: histogram unit: "s" @@ -74,6 +82,7 @@ groups: - id: metric.faas.net_io type: metric metric_name: faas.net_io + stability: experimental brief: "Distribution of net I/O usage per invocation" instrument: histogram unit: "By" diff --git a/model/metrics/http.yaml b/model/metrics/http.yaml index a309994f2d..d22e7836b8 100644 --- a/model/metrics/http.yaml +++ b/model/metrics/http.yaml @@ -35,6 +35,7 @@ groups: - id: metric.http.server.active_requests type: metric metric_name: http.server.active_requests + stability: experimental brief: "Number of active HTTP server requests." instrument: updowncounter unit: "{request}" @@ -66,6 +67,7 @@ groups: - id: metric.http.server.request.body.size type: metric metric_name: http.server.request.body.size + stability: experimental brief: "Size of HTTP server request bodies." instrument: histogram unit: "By" @@ -78,6 +80,7 @@ groups: - id: metric.http.server.response.body.size type: metric metric_name: http.server.response.body.size + stability: experimental brief: "Size of HTTP server response bodies." instrument: histogram unit: "By" @@ -99,6 +102,7 @@ groups: - id: metric.http.client.request.body.size type: metric metric_name: http.client.request.body.size + stability: experimental brief: "Size of HTTP client request bodies." instrument: histogram unit: "By" @@ -111,6 +115,7 @@ groups: - id: metric.http.client.response.body.size type: metric metric_name: http.client.response.body.size + stability: experimental brief: "Size of HTTP client response bodies." instrument: histogram unit: "By" diff --git a/model/metrics/jvm-metrics-experimental.yaml b/model/metrics/jvm-metrics-experimental.yaml index 8ea4fa57c5..4bc7cc7581 100644 --- a/model/metrics/jvm-metrics-experimental.yaml +++ b/model/metrics/jvm-metrics-experimental.yaml @@ -2,6 +2,7 @@ groups: - id: metric.jvm.memory.init type: metric metric_name: jvm.memory.init + stability: experimental extends: attributes.jvm.memory brief: "Measure of initial memory requested." instrument: updowncounter @@ -10,6 +11,7 @@ groups: - id: metric.jvm.system.cpu.utilization type: metric metric_name: jvm.system.cpu.utilization + stability: experimental brief: "Recent CPU utilization for the whole system as reported by the JVM." note: > The value range is [0.0,1.0]. @@ -22,6 +24,7 @@ groups: - id: metric.jvm.system.cpu.load_1m type: metric metric_name: jvm.system.cpu.load_1m + stability: experimental brief: "Average CPU load of the whole system for the last minute as reported by the JVM." note: > The value range is [0,n], where n is the number of CPU cores - or a negative number if the value is not available. @@ -38,6 +41,7 @@ groups: attributes: - id: pool.name type: string + stability: experimental requirement_level: recommended brief: Name of the buffer pool. examples: [ "mapped", "direct" ] @@ -48,6 +52,7 @@ groups: - id: metric.jvm.buffer.memory.usage type: metric metric_name: jvm.buffer.memory.usage + stability: experimental extends: attributes.jvm.buffer brief: "Measure of memory used by buffers." instrument: updowncounter @@ -56,6 +61,7 @@ groups: - id: metric.jvm.buffer.memory.limit type: metric metric_name: jvm.buffer.memory.limit + stability: experimental extends: attributes.jvm.buffer brief: "Measure of total memory capacity of buffers." instrument: updowncounter @@ -64,6 +70,7 @@ groups: - id: metric.jvm.buffer.count type: metric metric_name: jvm.buffer.count + stability: experimental extends: attributes.jvm.buffer brief: "Number of buffers in the pool." instrument: updowncounter diff --git a/model/metrics/messaging.yaml b/model/metrics/messaging.yaml index 18079b3a52..03a1a5b44b 100644 --- a/model/metrics/messaging.yaml +++ b/model/metrics/messaging.yaml @@ -1,6 +1,7 @@ groups: - id: metric.messaging.attributes type: attribute_group + stability: experimental brief: "Common messaging metrics attributes." extends: messaging.attributes.common attributes: @@ -16,6 +17,7 @@ groups: type: metric metric_name: messaging.publish.duration brief: "Measures the duration of publish operation." + stability: experimental instrument: histogram unit: "s" extends: metric.messaging.attributes @@ -24,6 +26,7 @@ groups: type: metric metric_name: messaging.receive.duration brief: "Measures the duration of receive operation." + stability: experimental instrument: histogram unit: "s" extends: metric.messaging.attributes @@ -32,6 +35,7 @@ groups: type: metric metric_name: messaging.process.duration brief: "Measures the duration of process operation." + stability: experimental instrument: histogram unit: "s" extends: metric.messaging.attributes @@ -41,6 +45,7 @@ groups: type: metric metric_name: messaging.publish.messages brief: "Measures the number of published messages." + stability: experimental instrument: counter unit: "{message}" extends: metric.messaging.attributes @@ -49,6 +54,7 @@ groups: type: metric metric_name: messaging.receive.messages brief: "Measures the number of received messages." + stability: experimental instrument: counter unit: "{message}" extends: metric.messaging.attributes @@ -57,6 +63,7 @@ groups: type: metric metric_name: messaging.process.messages brief: "Measures the number of processed messages." + stability: experimental instrument: counter unit: "{message}" extends: metric.messaging.attributes diff --git a/model/metrics/process-metrics.yaml b/model/metrics/process-metrics.yaml index cc663a9eaf..d6735399a1 100644 --- a/model/metrics/process-metrics.yaml +++ b/model/metrics/process-metrics.yaml @@ -15,10 +15,11 @@ groups: value: 'user' - id: wait value: 'wait' - + stability: experimental - id: metric.process.cpu.time type: metric metric_name: process.cpu.time + stability: experimental brief: "Total CPU seconds broken down by different states." instrument: counter unit: "s" @@ -28,6 +29,7 @@ groups: - id: metric.process.cpu.utilization type: metric metric_name: process.cpu.utilization + stability: experimental brief: "Difference in process.cpu.time since the last measurement, divided by the elapsed time and number of CPUs available to the process." instrument: gauge unit: "1" @@ -37,6 +39,7 @@ groups: - id: metric.process.memory.usage type: metric metric_name: process.memory.usage + stability: experimental brief: "The amount of physical memory in use." instrument: updowncounter unit: "By" @@ -45,6 +48,7 @@ groups: - id: metric.process.memory.virtual type: metric metric_name: process.memory.virtual + stability: experimental brief: "The amount of committed virtual memory." instrument: updowncounter unit: "By" @@ -53,6 +57,7 @@ groups: - id: metric.process.disk.io type: metric metric_name: process.disk.io + stability: experimental prefix: process.disk brief: "Disk bytes transferred." instrument: counter @@ -63,6 +68,7 @@ groups: - id: metric.process.network.io type: metric metric_name: process.network.io + stability: experimental brief: "Network bytes transferred." instrument: counter unit: "By" @@ -72,22 +78,23 @@ groups: - id: metric.process.thread.count type: metric metric_name: process.thread.count + stability: experimental brief: "Process threads count." instrument: updowncounter unit: "{thread}" - attributes: [] - id: metric.process.open_file_descriptor.count type: metric metric_name: process.open_file_descriptor.count + stability: experimental brief: "Number of file descriptors in use by the process." instrument: updowncounter unit: "{count}" - attributes: [] - id: metric.process.context_switches type: metric metric_name: process.context_switches + stability: experimental brief: "Number of times the process has been context switched." instrument: counter unit: "{count}" @@ -101,10 +108,11 @@ groups: value: 'voluntary' - id: involuntary value: 'involuntary' - + stability: experimental - id: metric.process.paging.faults type: metric metric_name: process.paging.faults + stability: experimental brief: "Number of page faults the process has made." instrument: counter unit: "{fault}" @@ -118,3 +126,4 @@ groups: value: 'major' - id: minor value: 'minor' + stability: experimental diff --git a/model/metrics/rpc-metrics.yaml b/model/metrics/rpc-metrics.yaml index ca29cdf194..aa47588d41 100644 --- a/model/metrics/rpc-metrics.yaml +++ b/model/metrics/rpc-metrics.yaml @@ -19,6 +19,7 @@ groups: - id: metric.rpc.server.duration type: metric metric_name: rpc.server.duration + stability: experimental brief: Measures the duration of inbound RPC. instrument: histogram unit: "ms" @@ -31,6 +32,7 @@ groups: - id: metric.rpc.server.request.size type: metric metric_name: rpc.server.request.size + stability: experimental brief: Measures the size of RPC request messages (uncompressed). instrument: histogram unit: "By" @@ -40,6 +42,7 @@ groups: - id: metric.rpc.server.response.size type: metric metric_name: rpc.server.response.size + stability: experimental brief: Measures the size of RPC response messages (uncompressed). instrument: histogram unit: "By" @@ -49,6 +52,7 @@ groups: - id: metric.rpc.server.requests_per_rpc type: metric metric_name: rpc.server.requests_per_rpc + stability: experimental brief: Measures the number of messages received per RPC. instrument: histogram unit: "{count}" @@ -60,6 +64,7 @@ groups: - id: metric.rpc.server.responses_per_rpc type: metric metric_name: rpc.server.responses_per_rpc + stability: experimental brief: Measures the number of messages sent per RPC. instrument: histogram unit: "{count}" @@ -72,6 +77,7 @@ groups: - id: metric.rpc.client.duration type: metric metric_name: rpc.client.duration + stability: experimental brief: Measures the duration of outbound RPC. instrument: histogram unit: "ms" @@ -84,6 +90,7 @@ groups: - id: metric.rpc.client.request.size type: metric metric_name: rpc.client.request.size + stability: experimental brief: Measures the size of RPC request messages (uncompressed). instrument: histogram unit: "By" @@ -93,6 +100,7 @@ groups: - id: metric.rpc.client.response.size type: metric metric_name: rpc.client.response.size + stability: experimental brief: Measures the size of RPC response messages (uncompressed). instrument: histogram unit: "By" @@ -102,6 +110,7 @@ groups: - id: metric.rpc.client.requests_per_rpc type: metric metric_name: rpc.client.requests_per_rpc + stability: experimental brief: Measures the number of messages received per RPC. instrument: histogram unit: "{count}" @@ -113,6 +122,7 @@ groups: - id: metric.rpc.client.responses_per_rpc type: metric metric_name: rpc.client.responses_per_rpc + stability: experimental brief: Measures the number of messages sent per RPC. instrument: histogram unit: "{count}" diff --git a/model/metrics/system-metrics.yaml b/model/metrics/system-metrics.yaml index 9f288e87ff..49a3a765b4 100644 --- a/model/metrics/system-metrics.yaml +++ b/model/metrics/system-metrics.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: device type: string + stability: experimental brief: "The device identifier" examples: ["(identifier)"] @@ -34,16 +35,19 @@ groups: value: 'interrupt' - id: steal value: 'steal' + stability: experimental brief: "The state of the CPU" examples: ["idle", "interrupt"] - id: logical_number type: int + stability: experimental brief: "The logical CPU number [0..n-1]" examples: [1] - id: metric.system.cpu.time type: metric metric_name: system.cpu.time + stability: experimental brief: "Seconds each logical CPU spent on each mode" instrument: counter unit: "s" @@ -54,6 +58,7 @@ groups: - id: metric.system.cpu.utilization type: metric metric_name: system.cpu.utilization + stability: experimental brief: "Difference in system.cpu.time since the last measurement, divided by the elapsed time and number of logical CPUs" instrument: gauge unit: "1" @@ -64,6 +69,7 @@ groups: - id: metric.system.cpu.frequency type: metric metric_name: system.cpu.frequency + stability: experimental brief: "Reports the current frequency of the CPU in Hz" instrument: gauge unit: "{Hz}" @@ -73,6 +79,7 @@ groups: - id: metric.system.cpu.physical.count type: metric metric_name: system.cpu.physical.count + stability: experimental brief: "Reports the number of actual physical processor cores on the hardware" instrument: updowncounter unit: "{cpu}" @@ -81,6 +88,7 @@ groups: - id: metric.system.cpu.logical.count type: metric metric_name: system.cpu.logical.count + stability: experimental brief: "Reports the number of logical (virtual) processor cores created by the operating system to manage multitasking" instrument: updowncounter unit: "{cpu}" @@ -106,12 +114,14 @@ groups: value: 'buffers' - id: cached value: 'cached' + stability: experimental brief: "The memory state" examples: ["free", "cached"] - id: metric.system.memory.usage type: metric metric_name: system.memory.usage + stability: experimental brief: "Reports memory in use by state." note: | The sum over all `system.memory.state` values SHOULD equal the total memory @@ -124,6 +134,7 @@ groups: - id: metric.system.memory.limit type: metric metric_name: system.memory.limit + stability: experimental brief: "Total memory available in the system." note: | Its value SHOULD equal the sum of `system.memory.state` over all states. @@ -133,6 +144,7 @@ groups: - id: metric.system.memory.utilization type: metric metric_name: system.memory.utilization + stability: experimental brief: "" instrument: gauge unit: "1" @@ -153,6 +165,7 @@ groups: value: 'used' - id: free value: 'free' + stability: experimental brief: "The memory paging state" examples: ["free"] - id: type @@ -163,6 +176,7 @@ groups: value: 'major' - id: minor value: 'minor' + stability: experimental brief: "The memory paging type" examples: ["minor"] - id: direction @@ -173,11 +187,13 @@ groups: value: 'in' - id: out value: 'out' + stability: experimental brief: "The paging access direction" examples: ["in"] - id: metric.system.paging.usage type: metric metric_name: system.paging.usage + stability: experimental brief: "Unix swap or windows pagefile usage" instrument: updowncounter unit: "By" @@ -187,6 +203,7 @@ groups: - id: metric.system.paging.utilization type: metric metric_name: system.paging.utilization + stability: experimental brief: "" instrument: gauge unit: "1" @@ -196,6 +213,7 @@ groups: - id: metric.system.paging.faults type: metric metric_name: system.paging.faults + stability: experimental brief: "" instrument: counter unit: "{fault}" @@ -205,6 +223,7 @@ groups: - id: metric.system.paging.operations type: metric metric_name: system.paging.operations + stability: experimental brief: "" instrument: counter unit: "{operation}" @@ -216,6 +235,7 @@ groups: - id: metric.system.disk.io type: metric metric_name: system.disk.io + stability: experimental brief: "" instrument: counter unit: "By" @@ -226,6 +246,7 @@ groups: - id: metric.system.disk.operations type: metric metric_name: system.disk.operations + stability: experimental brief: "" instrument: counter unit: "{operation}" @@ -236,6 +257,7 @@ groups: - id: metric.system.disk.io_time type: metric metric_name: system.disk.io_time + stability: experimental brief: "Time disk spent activated" instrument: counter unit: "s" @@ -252,6 +274,7 @@ groups: - id: metric.system.disk.operation_time type: metric metric_name: system.disk.operation_time + stability: experimental brief: "Sum of the time each operation took to complete" instrument: counter unit: "s" @@ -267,6 +290,7 @@ groups: - id: metric.system.disk.merged type: metric metric_name: system.disk.merged + stability: experimental brief: "" instrument: counter unit: "{operation}" @@ -291,6 +315,7 @@ groups: value: 'free' - id: reserved value: 'reserved' + stability: experimental examples: ["used"] - id: type type: @@ -308,20 +333,24 @@ groups: value: 'hfsplus' - id: ext4 value: 'ext4' + stability: experimental brief: "The filesystem type" examples: ["ext4"] - id: mode type: string + stability: experimental brief: "The filesystem mode" examples: ["rw, ro"] - id: mountpoint type: string + stability: experimental brief: "The filesystem mount path" examples: ["/mnt/data"] - id: metric.system.filesystem.usage type: metric metric_name: system.filesystem.usage + stability: experimental brief: "" instrument: updowncounter unit: "By" @@ -335,6 +364,7 @@ groups: - id: metric.system.filesystem.utilization type: metric metric_name: system.filesystem.utilization + stability: experimental brief: "" instrument: gauge unit: "1" @@ -381,12 +411,14 @@ groups: value: 'syn_sent' - id: time_wait value: 'time_wait' + stability: experimental brief: "A stateless protocol MUST NOT set this attribute" examples: ["close_wait"] - id: metric.system.network.dropped type: metric metric_name: system.network.dropped + stability: experimental brief: "Count of packets that are dropped or discarded even though there was no error" instrument: counter unit: "{packet}" @@ -403,6 +435,7 @@ groups: - id: metric.system.network.packets type: metric metric_name: system.network.packets + stability: experimental brief: "" instrument: counter unit: "{packet}" @@ -413,6 +446,7 @@ groups: - id: metric.system.network.errors type: metric metric_name: system.network.errors + stability: experimental brief: "Count of network errors detected" instrument: counter unit: "{error}" @@ -429,6 +463,7 @@ groups: - id: metric.system.network.io type: metric metric_name: system.network.io + stability: experimental brief: "" instrument: counter unit: "By" @@ -439,6 +474,7 @@ groups: - id: metric.system.network.connections type: metric metric_name: system.network.connections + stability: experimental brief: "" instrument: updowncounter unit: "{connection}" @@ -465,6 +501,7 @@ groups: value: 'stopped' - id: defunct value: 'defunct' + stability: experimental brief: > The process state, e.g., [Linux Process State Codes](https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES) examples: ["running"] @@ -473,6 +510,7 @@ groups: - id: metric.system.process.count type: metric metric_name: system.process.count + stability: experimental brief: "Total number of processes in each state" instrument: updowncounter unit: "{process}" @@ -482,6 +520,7 @@ groups: - id: metric.system.process.created type: metric metric_name: system.process.created + stability: experimental brief: "Total number of processes created over uptime of the host" instrument: counter unit: "{process}" @@ -490,6 +529,7 @@ groups: - id: metric.system.linux.memory.available type: metric metric_name: system.linux.memory.available + stability: experimental brief: "An estimate of how much memory is available for starting new applications, without causing swapping" note: | This is an alternative to `system.memory.usage` metric with `state=free`. diff --git a/model/registry/browser.yaml b/model/registry/browser.yaml index e9d0da5c93..286c95b193 100644 --- a/model/registry/browser.yaml +++ b/model/registry/browser.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: brands type: string[] + stability: experimental brief: 'Array of brand name and version separated by a space' note: > This value is intended to be taken from the @@ -15,6 +16,7 @@ groups: examples: [ " Not A;Brand 99", "Chromium 99", "Chrome 99" ] - id: platform type: string + stability: experimental brief: 'The platform on which the browser is running' note: > This value is intended to be taken from the @@ -32,6 +34,7 @@ groups: examples: ['Windows', 'macOS', 'Android'] - id: mobile type: boolean + stability: experimental brief: 'A boolean that is true if the browser is running on a mobile device' note: > This value is intended to be taken from the @@ -40,6 +43,7 @@ groups: SHOULD be left unset. - id: language type: string + stability: experimental brief: 'Preferred language of the user using the browser' note: > This value is intended to be taken from the Navigator API diff --git a/model/registry/cloud.yaml b/model/registry/cloud.yaml index 5ddb25c899..e3ce26b0e4 100644 --- a/model/registry/cloud.yaml +++ b/model/registry/cloud.yaml @@ -30,16 +30,18 @@ groups: - id: 'tencent_cloud' value: 'tencent_cloud' brief: 'Tencent Cloud' - + stability: experimental brief: > Name of the cloud provider. - id: account.id type: string + stability: experimental brief: > The cloud account ID the resource is assigned to. examples: ['111111111111', 'opentelemetry'] - id: region type: string + stability: experimental brief: > The geographical region the resource is running. note: > @@ -52,6 +54,7 @@ groups: examples: ['us-central1', 'us-east-1'] - id: resource_id type: string + stability: experimental brief: > Cloud provider-specific native identifier of the monitored cloud resource (e.g. an [ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) on AWS, @@ -81,6 +84,7 @@ groups: - '/subscriptions//resourceGroups//providers/Microsoft.Web/sites//functions/' - id: availability_zone type: string + stability: experimental brief: > Cloud regions often have multiple, isolated locations known as zones to increase availability. Availability zone represents the @@ -176,6 +180,7 @@ groups: - id: tencent_cloud_scf value: 'tencent_cloud_scf' brief: Tencent Cloud Serverless Cloud Function (SCF) + stability: experimental brief: > The cloud platform in use. note: > diff --git a/model/registry/code.yaml b/model/registry/code.yaml index d5afceeaed..5848b4fa60 100644 --- a/model/registry/code.yaml +++ b/model/registry/code.yaml @@ -7,32 +7,38 @@ groups: attributes: - id: function type: string + stability: experimental brief: > The method or function name, or equivalent (usually rightmost part of the code unit's name). examples: serveRequest - id: namespace type: string + stability: experimental brief: > The "namespace" within which `code.function` is defined. Usually the qualified class or module name, such that `code.namespace` + some separator + `code.function` form a unique identifier for the code unit. examples: com.example.MyHttpService - id: filepath type: string + stability: experimental brief: > The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path). examples: /usr/local/MyApplication/content_root/app/index.php - id: lineno type: int + stability: experimental brief: > The line number in `code.filepath` best representing the operation. It SHOULD point within the code unit named in `code.function`. examples: 42 - id: column type: int + stability: experimental brief: > The column number in `code.filepath` best representing the operation. It SHOULD point within the code unit named in `code.function`. examples: 16 - id: stacktrace type: string + stability: experimental brief: > A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG. diff --git a/model/registry/container.yaml b/model/registry/container.yaml index 2288c39e52..343c63b927 100644 --- a/model/registry/container.yaml +++ b/model/registry/container.yaml @@ -7,11 +7,13 @@ groups: attributes: - id: name type: string + stability: experimental brief: > Container name used by container runtime. examples: ['opentelemetry-autoconf'] - id: id type: string + stability: experimental brief: > Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/reference/run/#container-identification). @@ -19,16 +21,19 @@ groups: examples: ['a3bf90e006b2'] - id: runtime type: string + stability: experimental brief: > The container runtime managing this container. examples: ['docker', 'containerd', 'rkt'] - id: image.name type: string + stability: experimental brief: > Name of the image the container was built on. examples: ['gcr.io/opentelemetry/operator'] - id: image.tags type: string[] + stability: experimental brief: > Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). @@ -37,6 +42,7 @@ groups: examples: ['v1.27.1', '3.5.7-0'] - id: image.id type: string + stability: experimental brief: > Runtime specific image identifier. Usually a hash algorithm followed by a UUID. note: > @@ -53,6 +59,7 @@ groups: examples: ['sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f'] - id: image.repo_digests type: string[] + stability: experimental brief: > Repo digests of the container image as provided by the container runtime. note: > @@ -64,6 +71,7 @@ groups: - 'internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578' - id: command type: string + stability: experimental note: > If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage. brief: > @@ -71,16 +79,19 @@ groups: examples: [ 'otelcontribcol' ] - id: command_line type: string + stability: experimental brief: > The full command run by the container as a single string representing the full command. [2] examples: [ 'otelcontribcol --config config.yaml' ] - id: command_args type: string[] + stability: experimental brief: > All the command arguments (including the command/executable itself) run by the container. [2] examples: [ 'otelcontribcol, --config, config.yaml' ] - id: label type: template[string] + stability: experimental brief: > Container labels, `` being the label name, the value being the label value. examples: [ 'container.label.app=nginx' ] diff --git a/model/registry/db.yaml b/model/registry/db.yaml index a17c1046d4..6926fa53b6 100644 --- a/model/registry/db.yaml +++ b/model/registry/db.yaml @@ -7,12 +7,14 @@ groups: attributes: - id: cassandra.coordinator.dc type: string + stability: experimental brief: > The data center of the coordinating node for a query. examples: 'us-west-2' tag: tech-specific-cassandra - id: cassandra.coordinator.id type: string + stability: experimental brief: > The ID of the coordinating node for a query. examples: 'be13faa2-8574-4d71-926d-27f16cf8a7af' @@ -44,26 +46,31 @@ groups: value: 'serial' - id: local_serial value: 'local_serial' + stability: experimental tag: tech-specific-cassandra - id: cassandra.idempotence type: boolean + stability: experimental brief: > Whether or not the query is idempotent. tag: tech-specific-cassandra - id: cassandra.page_size type: int + stability: experimental brief: > The fetch size used for paging, i.e. how many rows will be returned at once. examples: [5000] tag: tech-specific-cassandra - id: cassandra.speculative_execution_count type: int + stability: experimental brief: > The number of times a query was speculatively executed. Not set or `0` if the query was not executed speculatively. examples: [0, 2] tag: tech-specific-cassandra - id: cassandra.table type: string + stability: experimental brief: The name of the primary Cassandra table that the operation is acting upon, including the keyspace name (if applicable). note: > This mirrors the db.sql.table attribute but references cassandra rather than sql. @@ -76,6 +83,7 @@ groups: tag: tech-specific-cassandra - id: connection_string type: string + stability: experimental brief: > The connection string used to connect to the database. It is recommended to remove embedded credentials. @@ -83,6 +91,7 @@ groups: tag: db-generic - id: cosmosdb.client_id type: string + stability: experimental brief: Unique Cosmos client instance id. examples: '3ba4827d-4422-483f-b59f-85b74211c11d' tag: tech-specific-cosmosdb @@ -96,10 +105,12 @@ groups: - id: direct value: 'direct' brief: Direct connection. + stability: experimental brief: Cosmos client connection mode. tag: tech-specific-cosmosdb - id: cosmosdb.container type: string + stability: experimental brief: Cosmos DB container name. examples: 'anystring' tag: tech-specific-cosmosdb @@ -137,41 +148,49 @@ groups: value: 'QueryPlan' - id: execute_javascript value: 'ExecuteJavaScript' + stability: experimental brief: CosmosDB Operation Type. tag: tech-specific-cosmosdb - id: cosmosdb.request_charge type: double + stability: experimental brief: RU consumed for that operation examples: [46.18, 1.0] tag: tech-specific-cosmosdb - id: cosmosdb.request_content_length type: int + stability: experimental brief: Request payload size in bytes tag: tech-specific-cosmosdb - id: cosmosdb.status_code type: int + stability: experimental brief: Cosmos DB status code. examples: [200, 201] tag: tech-specific-cosmosdb - id: cosmosdb.sub_status_code type: int + stability: experimental brief: Cosmos DB sub status code. examples: [1000, 1002] tag: tech-specific-cosmosdb - id: elasticsearch.cluster.name type: string + stability: experimental brief: > Represents the identifier of an Elasticsearch cluster. examples: ["e9106fc68e3044f0b1475b04bf4ffd5f"] tag: tech-specific-elasticsearch - id: elasticsearch.node.name type: string + stability: experimental brief: > Represents the human-readable identifier of the node/instance to which a request was routed. examples: ["instance-0000000001"] tag: tech-specific-elasticsearch - id: elasticsearch.path_parts type: template[string] + stability: experimental brief: > A dynamic value in the url path. note: > @@ -183,18 +202,21 @@ groups: tag: tech-specific-elasticsearch - id: jdbc.driver_classname type: string + stability: experimental brief: > The fully-qualified class name of the [Java Database Connectivity (JDBC)](https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/) driver used to connect. examples: ['org.postgresql.Driver', 'com.microsoft.sqlserver.jdbc.SQLServerDriver'] tag: tech-specific-jdbc - id: mongodb.collection type: string + stability: experimental brief: > The MongoDB collection being accessed within the database stated in `db.name`. examples: [ 'customers', 'products' ] tag: tech-specific-mongodb - id: mssql.instance_name type: string + stability: experimental note: > If setting a `db.mssql.instance_name`, `server.port` is no longer required (but still recommended if non-standard). @@ -205,6 +227,7 @@ groups: tag: tech-specific-mssql - id: name type: string + stability: experimental brief: > This attribute is used to report the name of the database being accessed. For commands that switch the database, this should be set to the target database @@ -218,6 +241,7 @@ groups: tag: db-generic - id: operation type: string + stability: experimental brief: > The name of the operation being executed, e.g. the [MongoDB command name](https://docs.mongodb.com/manual/reference/command/#database-operations) such as `findAndModify`, or the SQL keyword. @@ -232,6 +256,7 @@ groups: tag: db-generic - id: redis.database_index type: int + stability: experimental brief: > The index of the database being accessed as used in the [`SELECT` command](https://redis.io/commands/select), provided as an integer. To be used instead of the generic `db.name` attribute. @@ -239,6 +264,7 @@ groups: tag: tech-specific-redis - id: sql.table type: string + stability: experimental brief: The name of the primary table that the operation is acting upon, including the database name (if applicable). note: > It is not recommended to attempt any client-side parsing of @@ -250,6 +276,7 @@ groups: tag: tech-specific-sql - id: statement type: string + stability: experimental brief: > The database statement being executed. examples: ['SELECT * FROM wuser_table', 'SET mykey "WuValue"'] @@ -415,9 +442,11 @@ groups: - id: trino value: 'trino' brief: 'Trino' + stability: experimental tag: db-generic - id: user type: string + stability: experimental brief: > Username for accessing the database. examples: ['readonly_user', 'reporting_user'] @@ -425,6 +454,7 @@ groups: - id: instance.id tag: db-generic type: string + stability: experimental brief: > An identifier (address, unique name, or any other identifier) of the database instance that is executing queries or mutations on the current connection. This is useful in cases where the database is running in a clustered environment and the instrumentation is able to record the node executing the query. diff --git a/model/registry/destination.yaml b/model/registry/destination.yaml index 595a1c67f9..99adf1a872 100644 --- a/model/registry/destination.yaml +++ b/model/registry/destination.yaml @@ -12,6 +12,7 @@ groups: attributes: - id: address type: string + stability: experimental brief: "Destination address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name." note: > When observed from the source side, and when communicating through an intermediary, `destination.address` SHOULD represent @@ -19,5 +20,6 @@ groups: examples: ['destination.example.com', '10.1.2.80', '/tmp/my.sock'] - id: port type: int + stability: experimental brief: 'Destination port number' examples: [3389, 2888] diff --git a/model/registry/device.yaml b/model/registry/device.yaml index c109981f11..5c324e37fe 100644 --- a/model/registry/device.yaml +++ b/model/registry/device.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: id type: string + stability: experimental brief: > A unique identifier representing the device note: > @@ -21,6 +22,7 @@ groups: examples: ['2ab2916d-a51f-4ac8-80ee-45ac31a28092'] - id: manufacturer type: string + stability: experimental brief: > The name of the device manufacturer note: > @@ -29,6 +31,7 @@ groups: examples: ['Apple', 'Samsung'] - id: model.identifier type: string + stability: experimental brief: > The model identifier for the device note: > @@ -38,6 +41,7 @@ groups: examples: ['iPhone3,4', 'SM-G920F'] - id: model.name type: string + stability: experimental brief: > The marketing name for the device model note: > diff --git a/model/registry/disk.yaml b/model/registry/disk.yaml index 90d6fb27d2..d8aba1e251 100644 --- a/model/registry/disk.yaml +++ b/model/registry/disk.yaml @@ -13,5 +13,6 @@ groups: value: 'read' - id: write value: 'write' + stability: experimental brief: "The disk IO operation direction." examples: ["read"] diff --git a/model/registry/host.yaml b/model/registry/host.yaml index c6b68ef414..f427266375 100644 --- a/model/registry/host.yaml +++ b/model/registry/host.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: id type: string + stability: experimental brief: > Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For non-containerized systems, this should be the `machine-id`. See the table below for @@ -14,6 +15,7 @@ groups: examples: ['fdbf79e8af94cb7f9e8df36789187052'] - id: name type: string + stability: experimental brief: > Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name @@ -21,6 +23,7 @@ groups: examples: ['opentelemetry-test'] - id: type type: string + stability: experimental brief: > Type of host. For Cloud, this must be the machine type. examples: ['n1-standard-1'] @@ -52,25 +55,30 @@ groups: - id: x86 value: 'x86' brief: "32-bit x86" + stability: experimental brief: > The CPU architecture the host system is running on. - id: image.name type: string + stability: experimental brief: > Name of the VM image or OS install the host was instantiated from. examples: ['infra-ami-eks-worker-node-7d4ec78312', 'CentOS-8-x86_64-1905'] - id: image.id + stability: experimental type: string brief: > VM image ID or host OS image ID. For Cloud, this value is from the provider. examples: ['ami-07b06b442921831e5'] - id: image.version + stability: experimental type: string brief: > The version string of the VM image or host OS as defined in [Version Attributes](/docs/resource/README.md#version-attributes). examples: ['0.1'] - id: ip + stability: experimental type: string[] brief: > Available IP addresses of the host, excluding loopback interfaces. @@ -79,6 +87,7 @@ groups: MUST be specified in the [RFC 5952](https://www.rfc-editor.org/rfc/rfc5952.html) format. examples: ["192.168.1.140", "fe80::abc2:4a28:737a:609e"] - id: mac + stability: experimental type: string[] brief: > Available MAC addresses of the host, excluding loopback interfaces. @@ -87,6 +96,7 @@ groups: as hyphen-separated octets in uppercase hexadecimal form from most to least significant. examples: ['AC-DE-48-23-45-67', 'AC-DE-48-23-45-67-01-9F'] - id: cpu.vendor.id + stability: experimental type: string brief: > Processor manufacturer identifier. A maximum 12-character string. @@ -95,27 +105,32 @@ groups: Writing these to memory in this order results in a 12-character string. examples: [ 'GenuineIntel' ] - id: cpu.family + stability: experimental type: string brief: > Family or generation of the CPU. examples: [ '6', 'PA-RISC 1.1e' ] - id: cpu.model.id + stability: experimental type: string brief: > Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family. examples: [ '6', '9000/778/B180L' ] - id: cpu.model.name + stability: experimental type: string brief: > Model designation of the processor. examples: [ '11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz' ] - id: cpu.stepping + stability: experimental type: string brief: > Stepping or core revisions. examples: ["1", "r1p1"] - id: cpu.cache.l2.size + stability: experimental type: int brief: > The amount of level 2 memory cache available to the processor (in Bytes). diff --git a/model/registry/k8s.yaml b/model/registry/k8s.yaml index efda36e993..ca878b8fd8 100644 --- a/model/registry/k8s.yaml +++ b/model/registry/k8s.yaml @@ -7,11 +7,13 @@ groups: attributes: - id: cluster.name type: string + stability: experimental brief: > The name of the cluster. examples: ['opentelemetry-cluster'] - id: cluster.uid type: string + stability: experimental brief: > A pseudo-ID for the cluster, set to the UID of the `kube-system` namespace. @@ -41,41 +43,49 @@ groups: examples: ['218fc5a9-a5f1-4b54-aa05-46717d0ab26d'] - id: node.name type: string + stability: experimental brief: > The name of the Node. examples: ['node-1'] - id: node.uid type: string + stability: experimental brief: > The UID of the Node. examples: ['1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2'] - id: namespace.name type: string + stability: experimental brief: > The name of the namespace that the pod is running in. examples: ['default'] - id: pod.uid type: string + stability: experimental brief: > The UID of the Pod. examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'] - id: pod.name type: string + stability: experimental brief: > The name of the Pod. examples: ['opentelemetry-pod-autoconf'] - id: pod.label type: template[string] + stability: experimental brief: > The label key-value pairs placed on the Pod, the `` being the label name, the value being the label value. examples: ['k8s.pod.label.app=my-app', 'k8s.pod.label.mycompany.io/arch=x64', 'k8s.pod.label.data='] - id: pod.annotation type: template[string] + stability: experimental brief: > The annotation key-value pairs placed on the Pod, the `` being the annotation name, the value being the annotation value. examples: [ 'k8s.pod.annotation.kubernetes.io/enforce-mountable-secrets=true', 'k8s.pod.annotation.mycompany.io/arch=x64', 'k8s.pod.annotation.data=' ] - id: container.name type: string + stability: experimental brief: > The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique @@ -83,6 +93,7 @@ groups: examples: ['redis'] - id: container.restart_count type: int + stability: experimental brief: > Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a @@ -90,61 +101,73 @@ groups: examples: [0, 2] - id: replicaset.uid type: string + stability: experimental brief: > The UID of the ReplicaSet. examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'] - id: replicaset.name type: string + stability: experimental brief: > The name of the ReplicaSet. examples: ['opentelemetry'] - id: deployment.uid type: string + stability: experimental brief: > The UID of the Deployment. examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'] - id: deployment.name type: string + stability: experimental brief: > The name of the Deployment. examples: ['opentelemetry'] - id: statefulset.uid type: string + stability: experimental brief: > The UID of the StatefulSet. examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'] - id: statefulset.name type: string + stability: experimental brief: > The name of the StatefulSet. examples: ['opentelemetry'] - id: daemonset.uid type: string + stability: experimental brief: > The UID of the DaemonSet. examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'] - id: daemonset.name type: string + stability: experimental brief: > The name of the DaemonSet. examples: ['opentelemetry'] - id: job.uid type: string + stability: experimental brief: > The UID of the Job. examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'] - id: job.name type: string + stability: experimental brief: > The name of the Job. examples: ['opentelemetry'] - id: cronjob.uid type: string + stability: experimental brief: > The UID of the CronJob. examples: ['275ecb36-5aa8-4c2a-9c47-d8bb681b9aff'] - id: cronjob.name type: string + stability: experimental brief: > The name of the CronJob. examples: ['opentelemetry'] diff --git a/model/registry/messaging.yaml b/model/registry/messaging.yaml index fcd0c111bb..4afd4d5320 100644 --- a/model/registry/messaging.yaml +++ b/model/registry/messaging.yaml @@ -6,6 +6,7 @@ groups: attributes: - id: batch.message_count type: int + stability: experimental brief: The number of messages sent, received, or processed in the scope of the batching operation. note: > Instrumentations SHOULD NOT set `messaging.batch.message_count` on spans that operate with a single message. @@ -15,12 +16,14 @@ groups: tag: messaging-generic - id: client_id type: string + stability: experimental brief: > A unique identifier for the client that consumes or produces a message. examples: ['client-5', 'myhost@8742@s8083jm'] tag: messaging-generic - id: destination.name type: string + stability: experimental brief: 'The message destination name' note: | Destination name SHOULD uniquely identify a specific queue, topic or other entity within the broker. If @@ -29,6 +32,7 @@ groups: tag: messaging-generic - id: destination.template type: string + stability: experimental brief: Low cardinality representation of the messaging destination name note: > Destination names could be constructed from templates. @@ -40,18 +44,22 @@ groups: tag: messaging-generic - id: destination.anonymous type: boolean + stability: experimental brief: 'A boolean that is true if the message destination is anonymous (could be unnamed or have auto-generated name).' tag: messaging-generic - id: destination.temporary type: boolean + stability: experimental brief: 'A boolean that is true if the message destination is temporary and might not exist anymore after messages are processed.' tag: messaging-generic - id: destination_publish.anonymous type: boolean + stability: experimental brief: 'A boolean that is true if the publish message destination is anonymous (could be unnamed or have auto-generated name).' tag: messaging-generic - id: destination_publish.name type: string + stability: experimental brief: 'The name of the original destination the message was published to' note: | The name SHOULD uniquely identify a specific queue, topic, or other entity within the broker. If @@ -60,6 +68,7 @@ groups: tag: messaging-generic - id: kafka.consumer.group type: string + stability: experimental brief: > Name of the Kafka Consumer Group that is handling the message. Only applies to consumers, not producers. @@ -67,12 +76,14 @@ groups: tag: tech-specific-kafka - id: kafka.destination.partition type: int + stability: experimental brief: > Partition the message is sent to. examples: 2 tag: tech-specific-kafka - id: kafka.message.key type: string + stability: experimental brief: > Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from `messaging.message.id` in that they're not unique. @@ -84,16 +95,19 @@ groups: tag: tech-specific-kafka - id: kafka.message.offset type: int + stability: experimental brief: > The offset of a record in the corresponding Kafka partition. examples: 42 tag: tech-specific-kafka - id: kafka.message.tombstone type: boolean + stability: experimental brief: 'A boolean that is true if the message is a tombstone.' tag: tech-specific-kafka - id: message.conversation_id type: string + stability: experimental brief: > The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". @@ -101,6 +115,7 @@ groups: tag: messaging-generic - id: message.envelope.size type: int + stability: experimental brief: > The size of the message body and metadata in bytes. note: | @@ -110,11 +125,13 @@ groups: tag: messaging-generic - id: message.id type: string + stability: experimental brief: 'A value used by the messaging system as an identifier for the message, represented as a string.' examples: '452a7c7c7c7048c2f887f61572b18fc2' tag: messaging-generic - id: message.body.size type: int + stability: experimental brief: > The size of the message body in bytes. note: | @@ -149,18 +166,21 @@ groups: value: "settle" brief: > One or more messages are settled. + stability: experimental brief: > A string identifying the kind of messaging operation. note: If a custom value is used, it MUST be of low cardinality. tag: messaging-generic - id: rabbitmq.destination.routing_key type: string + stability: experimental brief: > RabbitMQ message routing key. examples: 'myKey' tag: tech-specific-rabbitmq - id: rabbitmq.message.delivery_tag type: int + stability: experimental brief: > RabbitMQ message delivery tag examples: 123 @@ -168,6 +188,7 @@ groups: - id: rocketmq.client_group type: string + stability: experimental brief: > Name of the RocketMQ producer/consumer group that is handling the message. The client type is identified by the SpanKind. examples: 'myConsumerGroup' @@ -182,35 +203,41 @@ groups: - id: broadcasting value: 'broadcasting' brief: 'Broadcasting consumption model' + stability: experimental brief: > Model of message consumption. This only applies to consumer spans. tag: tech-specific-rocketmq - id: rocketmq.message.delay_time_level type: int + stability: experimental brief: > The delay time level for delay message, which determines the message delay time. examples: 3 tag: tech-specific-rocketmq - id: rocketmq.message.delivery_timestamp type: int + stability: experimental brief: > The timestamp in milliseconds that the delay message is expected to be delivered to consumer. examples: 1665987217045 tag: tech-specific-rocketmq - id: rocketmq.message.group type: string + stability: experimental brief: > It is essential for FIFO message. Messages that belong to the same message group are always processed one by one within the same consumer group. examples: 'myMessageGroup' tag: tech-specific-rocketmq - id: rocketmq.message.keys type: string[] + stability: experimental brief: > Key(s) of message, another way to mark message besides message id. examples: ['keyA', 'keyB'] tag: tech-specific-rocketmq - id: rocketmq.message.tag type: string + stability: experimental brief: > The secondary classifier of message besides topic. examples: tagA @@ -231,17 +258,20 @@ groups: - id: transaction value: 'transaction' brief: 'Transaction message' + stability: experimental brief: > Type of message. tag: tech-specific-rocketmq - id: rocketmq.namespace type: string + stability: experimental brief: > Namespace of RocketMQ resources, resources in different namespaces are individual. examples: 'myNamespace' tag: tech-specific-rocketmq - id: gcp_pubsub.message.ordering_key type: string + stability: experimental brief: > The ordering key for a given message. If the attribute is not present, the message does not have an ordering key. examples: 'ordering_key' @@ -282,21 +312,25 @@ groups: - id: rocketmq value: 'rocketmq' brief: 'Apache RocketMQ' + stability: experimental tag: messaging-generic - id: servicebus.message.delivery_count type: int + stability: experimental brief: > Number of deliveries that have been attempted for this message. examples: 2 tag: tech-specific-servicebus - id: servicebus.message.enqueued_time type: int + stability: experimental brief: > The UTC epoch seconds at which the message has been accepted and stored in the entity. examples: 1701393730 tag: tech-specific-servicebus - id: servicebus.destination.subscription_name type: string + stability: experimental brief: > The name of the subscription in the topic messages are received from. examples: "mySubscription" @@ -323,18 +357,21 @@ groups: tag: tech-specific-servicebus - id: eventhubs.message.enqueued_time type: int + stability: experimental brief: > The UTC epoch seconds at which the message has been accepted and stored in the entity. examples: 1701393730 tag: tech-specific-eventhubs - id: eventhubs.destination.partition.id type: string + stability: experimental brief: > The identifier of the partition messages are sent to or received from, unique to the Event Hub which contains it. examples: '1' tag: tech-specific-eventhubs - id: eventhubs.consumer.group type: string + stability: experimental brief: > The name of the consumer group the event consumer is associated with. examples: 'indexer' diff --git a/model/registry/network.yaml b/model/registry/network.yaml index 7715506bcc..e7520bae9c 100644 --- a/model/registry/network.yaml +++ b/model/registry/network.yaml @@ -7,18 +7,22 @@ groups: attributes: - id: carrier.icc type: string + stability: experimental brief: "The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network." examples: "DE" - id: carrier.mcc type: string + stability: experimental brief: "The mobile carrier country code." examples: "310" - id: carrier.mnc type: string + stability: experimental brief: "The mobile carrier network code." examples: "001" - id: carrier.name type: string + stability: experimental brief: "The name of the mobile carrier." examples: "sprint" - id: connection.subtype @@ -88,6 +92,7 @@ groups: - id: lte_ca brief: LTE CA value: "lte_ca" + stability: experimental brief: 'This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection.' examples: 'LTE' - id: connection.type @@ -104,6 +109,7 @@ groups: value: "unavailable" - id: unknown value: "unknown" + stability: experimental brief: 'The internet connection type.' examples: 'wifi' - id: local.address @@ -190,5 +196,6 @@ groups: value: 'transmit' - id: receive value: 'receive' + stability: experimental brief: "The network IO operation direction." examples: ["transmit"] diff --git a/model/registry/oci.yaml b/model/registry/oci.yaml index 24e0cb93f2..00d0e28c2b 100644 --- a/model/registry/oci.yaml +++ b/model/registry/oci.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: digest type: string + stability: experimental brief: > The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. diff --git a/model/registry/os.yaml b/model/registry/os.yaml index af8dbfcd2a..113901906a 100644 --- a/model/registry/os.yaml +++ b/model/registry/os.yaml @@ -47,23 +47,28 @@ groups: brief: "IBM z/OS" brief: > The operating system type. + stability: experimental - id: description type: string + stability: experimental brief: > Human readable (not intended to be parsed) OS version information, like e.g. reported by `ver` or `lsb_release -a` commands. examples: ['Microsoft Windows [Version 10.0.18363.778]', 'Ubuntu 18.04.1 LTS'] - id: name type: string + stability: experimental brief: 'Human readable operating system name.' examples: ['iOS', 'Android', 'Ubuntu'] - id: version type: string + stability: experimental brief: > The version string of the operating system as defined in [Version Attributes](/docs/resource/README.md#version-attributes). examples: ['14.2.1', '18.04.1'] - id: build_id type: string + stability: experimental brief: 'Unique identifier for a particular build or compilation of the operating system.' examples: ['TQ3C.230805.001.B2', '20E247', '22621'] diff --git a/model/registry/process.yaml b/model/registry/process.yaml index e4b5c230bd..4279a9e33a 100644 --- a/model/registry/process.yaml +++ b/model/registry/process.yaml @@ -7,16 +7,19 @@ groups: attributes: - id: pid type: int + stability: experimental brief: > Process identifier (PID). examples: [1234] - id: parent_pid type: int + stability: experimental brief: > Parent Process identifier (PPID). examples: [111] - id: executable.name type: string + stability: experimental brief: > The name of the process executable. On Linux based systems, can be set to the `Name` in `proc/[pid]/status`. On Windows, can be set to the @@ -24,6 +27,7 @@ groups: examples: ['otelcol'] - id: executable.path type: string + stability: experimental brief: > The full path to the process executable. On Linux based systems, can be set to the target of `proc/[pid]/exe`. On Windows, can be set to the @@ -31,6 +35,7 @@ groups: examples: ['/usr/bin/cmd/otelcol'] - id: command type: string + stability: experimental brief: > The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. @@ -38,6 +43,7 @@ groups: examples: ['cmd/otelcol'] - id: command_line type: string + stability: experimental brief: > The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. @@ -46,6 +52,7 @@ groups: examples: ['C:\cmd\otecol --config="my directory\config.yaml"'] - id: command_args type: string[] + stability: experimental brief: > All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid @@ -55,23 +62,27 @@ groups: examples: ['cmd/otecol', '--config=config.yaml'] - id: owner type: string + stability: experimental brief: > The username of the user that owns the process. examples: 'root' - id: runtime.name type: string + stability: experimental brief: > The name of the runtime of this process. For compiled native binaries, this SHOULD be the name of the compiler. examples: ['OpenJDK Runtime Environment'] - id: runtime.version type: string + stability: experimental brief: > The version of the runtime of this process, as returned by the runtime without modification. examples: '14.0.2' - id: runtime.description type: string + stability: experimental brief: > An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. diff --git a/model/registry/rpc.yaml b/model/registry/rpc.yaml index 64f1f9a667..cfc1e45017 100644 --- a/model/registry/rpc.yaml +++ b/model/registry/rpc.yaml @@ -39,9 +39,11 @@ groups: value: data_loss - id: unauthenticated value: unauthenticated + stability: experimental brief: "The [error codes](https://connect.build/docs/protocol/#error-codes) of the Connect request. Error codes are always string values." - id: connect_rpc.request.metadata type: template[string[]] + stability: experimental brief: > Connect request metadata, `` being the normalized Connect Metadata key (lowercase), the value being the metadata values. note: > @@ -50,6 +52,7 @@ groups: examples: ['rpc.request.metadata.my-custom-metadata-attribute=["1.2.3.4", "1.2.3.5"]'] - id: connect_rpc.response.metadata type: template[string[]] + stability: experimental brief: > Connect response metadata, `` being the normalized Connect Metadata key (lowercase), the value being the metadata values. note: > @@ -110,9 +113,11 @@ groups: - id: unauthenticated brief: UNAUTHENTICATED value: 16 + stability: experimental brief: "The [numeric status code](https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md) of the gRPC request." - id: grpc.request.metadata type: template[string[]] + stability: experimental brief: > gRPC request metadata, `` being the normalized gRPC Metadata key (lowercase), the value being the metadata values. note: > @@ -121,6 +126,7 @@ groups: examples: ['rpc.grpc.request.metadata.my-custom-metadata-attribute=["1.2.3.4", "1.2.3.5"]'] - id: grpc.response.metadata type: template[string[]] + stability: experimental brief: > gRPC response metadata, `` being the normalized gRPC Metadata key (lowercase), the value being the metadata values. note: > @@ -129,14 +135,17 @@ groups: examples: ['rpc.grpc.response.metadata.my-custom-metadata-attribute=["attribute_value"]'] - id: jsonrpc.error_code type: int + stability: experimental brief: "`error.code` property of response if it is an error response." examples: [-32700, 100] - id: jsonrpc.error_message type: string + stability: experimental brief: "`error.message` property of response if it is an error response." examples: ['Parse error', 'User already exists'] - id: jsonrpc.request_id type: string + stability: experimental brief: > `id` property of request or response. Since protocol allows id to be int, string, `null` or missing (for notifications), @@ -145,10 +154,12 @@ groups: examples: ['10', 'request-7', ''] - id: jsonrpc.version type: string + stability: experimental brief: "Protocol version as in `jsonrpc` property of request/response. Since JSON-RPC 1.0 doesn't specify this, the value can be omitted." examples: ['2.0', '1.0'] - id: method type: string + stability: experimental brief: 'The name of the (logical) method being called, must be equal to the $method part in the span name.' note: > This is the logical name of the method from the RPC interface perspective, @@ -159,6 +170,7 @@ groups: examples: "exampleMethod" - id: service type: string + stability: experimental brief: 'The full (logical) name of the service being called, including its package name, if applicable.' note: > This is the logical name of the service from the RPC interface perspective, @@ -188,3 +200,4 @@ groups: - id: connect_rpc value: 'connect_rpc' brief: 'Connect RPC' + stability: experimental diff --git a/model/registry/source.yaml b/model/registry/source.yaml index 263a491cab..2f9a967919 100644 --- a/model/registry/source.yaml +++ b/model/registry/source.yaml @@ -12,6 +12,7 @@ groups: attributes: - id: address type: string + stability: experimental brief: "Source address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name." note: > When observed from the destination side, and when communicating through an intermediary, `source.address` SHOULD represent @@ -19,5 +20,6 @@ groups: examples: ['source.example.com', '10.1.2.80', '/tmp/my.sock'] - id: port type: int + stability: experimental brief: 'Source port number' examples: [3389, 2888] diff --git a/model/registry/thread.yaml b/model/registry/thread.yaml index f6b5b5a509..688b0ec8e2 100644 --- a/model/registry/thread.yaml +++ b/model/registry/thread.yaml @@ -7,11 +7,13 @@ groups: attributes: - id: id type: int + stability: experimental brief: > Current "managed" thread ID (as opposed to OS thread ID). examples: 42 - id: name type: string + stability: experimental brief: > Current thread name. examples: main diff --git a/model/registry/tls.yaml b/model/registry/tls.yaml index 421479d18a..1f0c880bc2 100644 --- a/model/registry/tls.yaml +++ b/model/registry/tls.yaml @@ -8,6 +8,7 @@ groups: brief: > String indicating the [cipher](https://datatracker.ietf.org/doc/html/rfc5246#appendix-A.5) used during the current connection. type: string + stability: experimental note: > The values allowed for `tls.cipher` MUST be one of the `Descriptions` of the [registered TLS Cipher Suits](https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#table-tls-parameters-4). @@ -18,29 +19,34 @@ groups: ] - id: client.certificate type: string + stability: experimental brief: > PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of `client.certificate_chain` since this value also exists in that list. examples: ["MII..."] - id: client.certificate_chain type: string[] + stability: experimental brief: > Array of PEM-encoded certificates that make up the certificate chain offered by the client. This is usually mutually-exclusive of `client.certificate` since that value should be the first certificate in the chain. examples: ["MII...", "MI..."] - id: client.hash.md5 type: string + stability: experimental brief: > Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash. examples: ["0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC"] - id: client.hash.sha1 type: string + stability: experimental brief: > Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash. examples: ["9E393D93138888D288266C2D915214D1D1CCEB2A"] - id: client.hash.sha256 type: string + stability: experimental brief: > Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash. @@ -48,31 +54,38 @@ groups: ["0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0"] - id: client.issuer type: string + stability: experimental brief: "Distinguished name of [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6) of the issuer of the x.509 certificate presented by the client." examples: ["CN=Example Root CA, OU=Infrastructure Team, DC=example, DC=com"] - id: client.ja3 type: string + stability: experimental brief: "A hash that identifies clients based on how they perform an SSL/TLS handshake." examples: ["d4e5b18d6b55c71272893221c96ba240"] - id: client.not_after type: string + stability: experimental brief: "Date/Time indicating when client certificate is no longer considered valid." examples: ["2021-01-01T00:00:00.000Z"] - id: client.not_before type: string + stability: experimental brief: "Date/Time indicating when client certificate is first considered valid." examples: ["1970-01-01T00:00:00.000Z"] - id: client.server_name type: string + stability: experimental brief: "Also called an SNI, this tells the server which hostname to which the client is attempting to connect to." examples: ["opentelemetry.io"] - id: client.subject type: string + stability: experimental brief: "Distinguished name of subject of the x.509 certificate presented by the client." examples: ["CN=myclient, OU=Documentation Team, DC=example, DC=com"] - id: client.supported_ciphers type: string[] + stability: experimental brief: Array of ciphers offered by the client during the client hello. examples: [ @@ -81,10 +94,12 @@ groups: - id: curve brief: "String indicating the curve used for the given cipher, when applicable" type: string + stability: experimental examples: ["secp256r1"] - id: established brief: "Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted tunnel." type: boolean + stability: experimental examples: [true] - id: next_protocol brief: > @@ -92,6 +107,7 @@ groups: Per the values in the [IANA registry](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids), this string should be lower case. type: string + stability: experimental examples: ["http/1.1"] - id: protocol.name brief: > @@ -103,40 +119,48 @@ groups: value: ssl - id: tls value: tls + stability: experimental - id: protocol.version brief: > Numeric part of the version parsed from the original string of the negotiated [SSL/TLS protocol version](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES) type: string + stability: experimental examples: ["1.2", "3"] - id: resumed brief: "Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation." type: boolean + stability: experimental examples: [true] - id: server.certificate type: string + stability: experimental brief: > PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of `server.certificate_chain` since this value also exists in that list. examples: ["MII..."] - id: server.certificate_chain type: string[] + stability: experimental brief: > Array of PEM-encoded certificates that make up the certificate chain offered by the server. This is usually mutually-exclusive of `server.certificate` since that value should be the first certificate in the chain. examples: ["MII...", "MI..."] - id: server.hash.md5 type: string + stability: experimental brief: > Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash. examples: ["0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC"] - id: server.hash.sha1 type: string + stability: experimental brief: > Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash. examples: ["9E393D93138888D288266C2D915214D1D1CCEB2A"] - id: server.hash.sha256 type: string + stability: experimental brief: > Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash. @@ -144,22 +168,27 @@ groups: ["0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0"] - id: server.issuer type: string + stability: experimental brief: "Distinguished name of [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6) of the issuer of the x.509 certificate presented by the client." examples: ["CN=Example Root CA, OU=Infrastructure Team, DC=example, DC=com"] - id: server.ja3s type: string + stability: experimental brief: "A hash that identifies servers based on how they perform an SSL/TLS handshake." examples: ["d4e5b18d6b55c71272893221c96ba240"] - id: server.not_after type: string + stability: experimental brief: "Date/Time indicating when server certificate is no longer considered valid." examples: ["2021-01-01T00:00:00.000Z"] - id: server.not_before type: string + stability: experimental brief: "Date/Time indicating when server certificate is first considered valid." examples: ["1970-01-01T00:00:00.000Z"] - id: server.subject type: string + stability: experimental brief: "Distinguished name of subject of the x.509 certificate presented by the server." examples: ["CN=myserver, OU=Documentation Team, DC=example, DC=com"] diff --git a/model/registry/url.yaml b/model/registry/url.yaml index 7e07ad7936..624ad90ba3 100644 --- a/model/registry/url.yaml +++ b/model/registry/url.yaml @@ -6,6 +6,7 @@ groups: attributes: - id: domain type: string + stability: experimental brief: > Domain extracted from the `url.full`, such as "opentelemetry.io". note: > @@ -16,6 +17,7 @@ groups: examples: ["www.foo.bar", "opentelemetry.io", "3.12.167.2", "[1080:0:0:0:8:800:200C:417A]"] - id: extension type: string + stability: experimental brief: > The file extension extracted from the `url.full`, excluding the leading dot. note: > @@ -44,6 +46,7 @@ groups: examples: ['https://www.foo.bar/search?q=OpenTelemetry#SemConv', '//localhost'] - id: original type: string + stability: experimental brief: > Unmodified original URL as seen in the event source. note: > @@ -63,6 +66,7 @@ groups: Sensitive content provided in `url.path` SHOULD be scrubbed when instrumentations can identify it. - id: port type: int + stability: experimental brief: > Port extracted from the `url.full` examples: [443] @@ -76,6 +80,7 @@ groups: Sensitive content provided in `url.query` SHOULD be scrubbed when instrumentations can identify it. - id: registered_domain type: string + stability: experimental brief: > The highest registered url domain, stripped of the subdomain. examples: ["example.com", "foo.co.uk"] @@ -91,6 +96,7 @@ groups: examples: ["https", "ftp", "telnet"] - id: subdomain type: string + stability: experimental brief: > The subdomain portion of a fully qualified domain name includes all of the names except the host name under the registered_domain. In a partially qualified domain, or if the the qualification level of the @@ -101,6 +107,7 @@ groups: such as `sub2.sub1.example.com`, the subdomain field should contain `sub2.sub1`, with no trailing period. - id: top_level_domain type: string + stability: experimental brief: > The effective top level domain (eTLD), also known as the domain suffix, is the last part of the domain name. For example, the top level domain for example.com is `com`. diff --git a/model/registry/user-agent.yaml b/model/registry/user-agent.yaml index f783d379e5..5503454d22 100644 --- a/model/registry/user-agent.yaml +++ b/model/registry/user-agent.yaml @@ -14,6 +14,7 @@ groups: 'YourApp/1.0.0 grpc-java-okhttp/1.27.2'] - id: name type: string + stability: experimental brief: > Name of the user-agent extracted from original. Usually refers to the browser's name. examples: ['Safari', 'YourApp'] @@ -24,6 +25,7 @@ groups: `user_agent.version` - id: version type: string + stability: experimental brief: > Version of the user-agent extracted from original. Usually refers to the browser's version examples: ['14.1.2', '1.0.0'] diff --git a/model/resource/android.yaml b/model/resource/android.yaml index dcc236d846..cf4040f514 100644 --- a/model/resource/android.yaml +++ b/model/resource/android.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: os.api_level type: string + stability: experimental brief: > Uniquely identifies the framework API revision offered by a version (`os.version`) of the android operating system. More information can be found diff --git a/model/resource/cloud_provider/aws/ecs.yaml b/model/resource/cloud_provider/aws/ecs.yaml index a40f950c18..a3c4b3f8b1 100644 --- a/model/resource/cloud_provider/aws/ecs.yaml +++ b/model/resource/cloud_provider/aws/ecs.yaml @@ -7,11 +7,13 @@ groups: attributes: - id: container.arn type: string + stability: experimental brief: > The Amazon Resource Name (ARN) of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). examples: ['arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9'] - id: cluster.arn type: string + stability: experimental brief: > The ARN of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). examples: ['arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster'] @@ -23,10 +25,12 @@ groups: value: "ec2" - id: fargate value: "fargate" + stability: experimental brief: > The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. - id: task.arn type: string + stability: experimental brief: > The ARN of a running [ECS task](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids). examples: [ @@ -35,11 +39,13 @@ groups: ] - id: task.family type: string + stability: experimental brief: > The family name of the [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) used to create the ECS task. examples: ['opentelemetry-family'] - id: task.id type: string + stability: experimental brief: > The ID of a running ECS task. The ID MUST be extracted from `task.arn`. requirement_level: @@ -47,6 +53,7 @@ groups: examples: [ '10838bed-421f-43ef-870a-f43feacbbb5b', '23ebb8ac-c18f-46c6-8bbe-d55d0e37cfbd' ] - id: task.revision type: string + stability: experimental brief: > The revision for the task definition used to create the ECS task. examples: ["8", "26"] diff --git a/model/resource/cloud_provider/aws/eks.yaml b/model/resource/cloud_provider/aws/eks.yaml index 2c897253ee..8eafc481aa 100644 --- a/model/resource/cloud_provider/aws/eks.yaml +++ b/model/resource/cloud_provider/aws/eks.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: cluster.arn type: string + stability: experimental brief: > The ARN of an EKS cluster. examples: ['arn:aws:ecs:us-west-2:123456789123:cluster/my-cluster'] diff --git a/model/resource/cloud_provider/aws/logs.yaml b/model/resource/cloud_provider/aws/logs.yaml index 8a433629bb..35889e137c 100644 --- a/model/resource/cloud_provider/aws/logs.yaml +++ b/model/resource/cloud_provider/aws/logs.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: group.names type: string[] + stability: experimental brief: > The name(s) of the AWS log group(s) an application is writing to. examples: ['/aws/lambda/my-function', 'opentelemetry-service'] @@ -16,6 +17,7 @@ groups: group. - id: group.arns type: string[] + stability: experimental brief: > The Amazon Resource Name(s) (ARN) of the AWS log group(s). examples: ['arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*'] @@ -24,11 +26,13 @@ groups: [log group ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). - id: stream.names type: string[] + stability: experimental brief: > The name(s) of the AWS log stream(s) an application is writing to. examples: ['logs/main/10838bed-421f-43ef-870a-f43feacbbb5b'] - id: stream.arns type: string[] + stability: experimental brief: > The ARN(s) of the AWS log stream(s). examples: ['arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b'] diff --git a/model/resource/cloud_provider/gcp/cloud_run.yaml b/model/resource/cloud_provider/gcp/cloud_run.yaml index e4da8f5929..269f4a6f84 100644 --- a/model/resource/cloud_provider/gcp/cloud_run.yaml +++ b/model/resource/cloud_provider/gcp/cloud_run.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: job.execution type: string + stability: experimental brief: > The name of the Cloud Run [execution](https://cloud.google.com/run/docs/managing/job-executions) @@ -16,6 +17,7 @@ groups: examples: ['job-name-xxxx', 'sample-job-mdw84'] - id: job.task_index type: int + stability: experimental brief: > The index for a task within an execution as provided by the [`CLOUD_RUN_TASK_INDEX`](https://cloud.google.com/run/docs/container-contract#jobs-env-vars) diff --git a/model/resource/cloud_provider/gcp/gce.yaml b/model/resource/cloud_provider/gcp/gce.yaml index 879d0ea388..22b96628dc 100644 --- a/model/resource/cloud_provider/gcp/gce.yaml +++ b/model/resource/cloud_provider/gcp/gce.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: instance.name type: string + stability: experimental brief: > The instance name of a GCE instance. This is the value provided by `host.name`, the visible name of the instance in @@ -17,6 +18,7 @@ groups: examples: ['instance-1', 'my-vm-name'] - id: instance.hostname type: string + stability: experimental brief: > The hostname of a GCE instance. This is the full value of the default or [custom hostname](https://cloud.google.com/compute/docs/instances/custom-hostname-vm). examples: ['my-host1234.example.com', 'sample-vm.us-west1-b.c.my-project.internal'] diff --git a/model/resource/cloud_provider/heroku.yaml b/model/resource/cloud_provider/heroku.yaml index e73eddc1e7..c8f7e34143 100644 --- a/model/resource/cloud_provider/heroku.yaml +++ b/model/resource/cloud_provider/heroku.yaml @@ -7,18 +7,21 @@ groups: attributes: - id: release.creation_timestamp type: string + stability: experimental brief: > Time and date the release was created examples: [ '2022-10-23T18:00:42Z' ] requirement_level: opt_in - id: release.commit type: string + stability: experimental brief: > Commit hash for the current release examples: [ 'e6134959463efd8966b20e75b913cafe3f5ec' ] requirement_level: opt_in - id: app.id type: string + stability: experimental brief: > Unique identifier for the application examples: [ '2daa2797-e42b-4624-9322-ec3f968df4da' ] diff --git a/model/resource/deployment_environment.yaml b/model/resource/deployment_environment.yaml index 7ada3f9798..bc2574386a 100644 --- a/model/resource/deployment_environment.yaml +++ b/model/resource/deployment_environment.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: environment type: string + stability: experimental brief: > Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). diff --git a/model/resource/faas.yaml b/model/resource/faas.yaml index 7f1a02e0e0..e73ee38646 100644 --- a/model/resource/faas.yaml +++ b/model/resource/faas.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: name type: string + stability: experimental requirement_level: required brief: > The name of the single function that this runtime instance executes. @@ -30,6 +31,7 @@ groups: examples: ['my-function', 'myazurefunctionapp/some-function-name'] - id: version type: string + stability: experimental brief: The immutable version of the function being executed. note: | Depending on the cloud provider and platform, use: @@ -44,6 +46,7 @@ groups: examples: ['26', 'pinkfroid-00002'] - id: instance type: string + stability: experimental brief: > The execution environment ID as a string, that will be potentially reused for other invocations to the same function/function version. @@ -52,6 +55,7 @@ groups: examples: ['2021/06/28/[$LATEST]2f399eb14537447da05ab2a2e39309de'] - id: max_memory type: int + stability: experimental brief: > The amount of memory available to the serverless function converted to Bytes. note: > diff --git a/model/resource/service_experimental.yaml b/model/resource/service_experimental.yaml index 99ed64f024..a11a30a048 100644 --- a/model/resource/service_experimental.yaml +++ b/model/resource/service_experimental.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: namespace type: string + stability: experimental brief: > A namespace for `service.name`. note: > @@ -20,6 +21,7 @@ groups: examples: ["Shop"] - id: instance.id type: string + stability: experimental brief: > The string ID of the service instance. note: | diff --git a/model/resource/telemetry_experimental.yaml b/model/resource/telemetry_experimental.yaml index 8f7b23554b..6569c8ff87 100644 --- a/model/resource/telemetry_experimental.yaml +++ b/model/resource/telemetry_experimental.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: distro.name type: string + stability: experimental brief: > The name of the auto instrumentation agent or distribution, if used. note: | @@ -15,6 +16,7 @@ groups: examples: ["parts-unlimited-java"] - id: distro.version type: string + stability: experimental brief: > The version string of the auto instrumentation agent or distribution, if used. examples: ["1.2.3"] diff --git a/model/resource/webengine.yaml b/model/resource/webengine.yaml index 5e0cdf8fab..10485dcc18 100644 --- a/model/resource/webengine.yaml +++ b/model/resource/webengine.yaml @@ -7,17 +7,20 @@ groups: attributes: - id: name type: string + stability: experimental requirement_level: required brief: > The name of the web engine. examples: ['WildFly'] - id: version type: string + stability: experimental brief: > The version of the web engine. examples: ['21.0.0'] - id: description type: string + stability: experimental brief: > Additional description of the web engine (e.g. detailed version and edition information). examples: ['WildFly Full 21.0.0.Final (WildFly Core 13.0.1.Final) - 2.2.2.Final'] diff --git a/model/scope/exporter/exporter.yaml b/model/scope/exporter/exporter.yaml index 0a47d625a9..259061d3ad 100644 --- a/model/scope/exporter/exporter.yaml +++ b/model/scope/exporter/exporter.yaml @@ -22,11 +22,11 @@ groups: attributes: - id: name type: string - stability: "deprecated" - brief: Deprecated, use the `otel.scope.name` attribute. + deprecated: use the `otel.scope.name` attribute. + brief: examples: ['io.opentelemetry.contrib.mongodb'] - id: version type: string - stability: "deprecated" - brief: Deprecated, use the `otel.scope.version` attribute. + deprecated: use the `otel.scope.version` attribute. + brief: examples: ['1.0.0'] diff --git a/model/session.yaml b/model/session.yaml index f221265338..ee09ffe1f3 100644 --- a/model/session.yaml +++ b/model/session.yaml @@ -16,11 +16,13 @@ groups: attributes: - id: id type: string + stability: experimental brief: "A unique id to identify a session." examples: "00112233-4455-6677-8899-aabbccddeeff" requirement_level: opt_in - id: previous_id type: string + stability: experimental brief: "The previous `session.id` for this user, when known." examples: "00112233-4455-6677-8899-aabbccddeeff" requirement_level: opt_in diff --git a/model/trace/aws/lambda.yaml b/model/trace/aws/lambda.yaml index 73e77ea747..795736f5ed 100644 --- a/model/trace/aws/lambda.yaml +++ b/model/trace/aws/lambda.yaml @@ -7,6 +7,7 @@ groups: attributes: - id: invoked_arn type: string + stability: experimental brief: > The full invoked ARN as provided on the `Context` passed to the function (`Lambda-Runtime-Invoked-Function-Arn` header on the `/runtime/invocation/next` applicable). diff --git a/model/trace/cloudevents.yaml b/model/trace/cloudevents.yaml index 6fcf7ae268..931b082f94 100644 --- a/model/trace/cloudevents.yaml +++ b/model/trace/cloudevents.yaml @@ -9,28 +9,33 @@ groups: attributes: - id: event_id type: string + stability: experimental requirement_level: required brief: > The [event_id](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#id) uniquely identifies the event. examples: ['123e4567-e89b-12d3-a456-426614174000', '0001'] - id: event_source type: string + stability: experimental requirement_level: required brief: > The [source](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#source-1) identifies the context in which an event happened. examples: ['https://github.com/cloudevents', '/cloudevents/spec/pull/123', 'my-service' ] - id: event_spec_version type: string + stability: experimental brief: > The [version of the CloudEvents specification](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#specversion) which the event uses. examples: '1.0' - id: event_type type: string + stability: experimental brief: > The [event_type](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type) contains a value describing the type of event related to the originating occurrence. examples: ['com.github.pull_request.opened', 'com.example.object.deleted.v2'] - id: event_subject type: string + stability: experimental brief: > The [subject](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#subject) of the event in the context of the event producer (identified by source). examples: 'mynewfile.jpg' diff --git a/model/trace/compatibility.yaml b/model/trace/compatibility.yaml index 2e3fe12dc7..b24b39a339 100644 --- a/model/trace/compatibility.yaml +++ b/model/trace/compatibility.yaml @@ -8,6 +8,7 @@ groups: attributes: - id: ref_type brief: 'Parent-child Reference type' + stability: experimental note: > The causal relationship between a child Span and a parent Span. type: diff --git a/model/trace/faas.yaml b/model/trace/faas.yaml index 84b7141b38..3eb9b53354 100644 --- a/model/trace/faas.yaml +++ b/model/trace/faas.yaml @@ -20,6 +20,7 @@ groups: call to invoke the lambda, which is often HTTP). - id: invocation_id type: string + stability: experimental brief: 'The invocation ID of the current function invocation.' examples: 'af9d5aa4-a685-4c5f-a22b-444f80b3cc28' - ref: cloud.resource_id @@ -33,6 +34,7 @@ groups: attributes: - id: collection type: string + stability: experimental requirement_level: required brief: > The name of the source on which the triggering operation was performed. @@ -40,6 +42,7 @@ groups: and in Cosmos DB to the database name. examples: ['myBucketName', 'myDbName'] - id: operation + stability: experimental requirement_level: required type: allow_custom_values: true @@ -56,6 +59,7 @@ groups: brief: 'Describes the type of the operation that was performed on the data.' - id: time type: string + stability: experimental brief: > A string containing the time when the data was accessed in the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) @@ -63,6 +67,7 @@ groups: examples: "2020-01-23T13:47:06Z" - id: name type: string + stability: experimental brief: > The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the name of @@ -76,7 +81,6 @@ groups: source operation such as a database or filesystem read/write. constraints: - include: trace.http.server - attributes: [] - id: faas_span.pubsub type: span @@ -85,7 +89,6 @@ groups: sent to a messaging system. constraints: - include: messaging - attributes: [] - id: faas_span.timer prefix: faas @@ -95,6 +98,7 @@ groups: attributes: - id: time type: string + stability: experimental brief: > A string containing the function invocation time in the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) @@ -102,6 +106,7 @@ groups: examples: "2020-01-23T13:47:06Z" - id: cron type: string + stability: experimental brief: > A string containing the schedule period as [Cron Expression](https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm). @@ -116,6 +121,7 @@ groups: attributes: - id: coldstart type: boolean + stability: experimental brief: > A boolean that is true if the serverless function is executed for the first time (aka cold-start). diff --git a/model/trace/feature-flag.yaml b/model/trace/feature-flag.yaml index 50706ba2d7..b6bc1ba1dc 100644 --- a/model/trace/feature-flag.yaml +++ b/model/trace/feature-flag.yaml @@ -8,16 +8,19 @@ groups: attributes: - id: key type: string + stability: experimental requirement_level: required brief: The unique identifier of the feature flag. examples: ["logo-color"] - id: provider_name type: string + stability: experimental requirement_level: recommended brief: The name of the service provider that performs the flag evaluation. examples: ["Flag Manager"] - id: variant type: string + stability: experimental requirement_level: recommended examples: ["red", "true", "on"] brief: > diff --git a/model/trace/instrumentation/aws-sdk.yml b/model/trace/instrumentation/aws-sdk.yml index 90b6d1c967..552914670a 100644 --- a/model/trace/instrumentation/aws-sdk.yml +++ b/model/trace/instrumentation/aws-sdk.yml @@ -28,6 +28,7 @@ groups: - PutItem - id: request_id type: string + stability: experimental brief: "The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`." examples: - 79b9da39-b7ae-508a-a6bc-864b2829c622 @@ -56,12 +57,14 @@ groups: - PutItem - id: table_names type: string[] + stability: experimental brief: The keys in the `RequestItems` object field. examples: - Users - Cats - id: consumed_capacity type: string[] + stability: experimental brief: "The JSON-serialized value of each item in the `ConsumedCapacity` response field." examples: - '{ @@ -91,6 +94,7 @@ groups: }' - id: item_collection_metrics type: string + stability: experimental brief: "The JSON-serialized value of the `ItemCollectionMetrics` response field." examples: - '{ @@ -120,21 +124,25 @@ groups: }' - id: provisioned_read_capacity type: double + stability: experimental brief: "The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter." examples: - 1.0 - 2.0 - id: provisioned_write_capacity type: double + stability: experimental brief: "The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter." examples: - 1.0 - 2.0 - id: consistent_read type: boolean + stability: experimental brief: "The value of the `ConsistentRead` request parameter." - id: projection type: string + stability: experimental brief: "The value of the `ProjectionExpression` request parameter." examples: - Title @@ -142,22 +150,26 @@ groups: - Title, Description, RelatedItems, ProductReviews - id: limit type: int + stability: experimental brief: "The value of the `Limit` request parameter." examples: - 10 - id: attributes_to_get type: string[] + stability: experimental brief: "The value of the `AttributesToGet` request parameter." examples: - lives - id - id: index_name type: string + stability: experimental brief: "The value of the `IndexName` request parameter." examples: - name_to_group - id: select type: string + stability: experimental brief: "The value of the `Select` request parameter." examples: - ALL_ATTRIBUTES @@ -190,6 +202,7 @@ groups: attributes: - id: global_secondary_indexes type: string[] + stability: experimental brief: "The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field" examples: - '{ @@ -211,6 +224,7 @@ groups: }' - id: local_secondary_indexes type: string[] + stability: experimental brief: "The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field." examples: - '{ @@ -295,12 +309,14 @@ groups: attributes: - id: exclusive_start_table type: string + stability: experimental brief: "The value of the `ExclusiveStartTableName` request parameter." examples: - Users - CatsTable - id: table_count type: int + stability: experimental brief: "The the number of items in the `TableNames` response parameter." examples: - 20 @@ -324,6 +340,7 @@ groups: attributes: - id: scan_forward type: boolean + stability: experimental brief: "The value of the `ScanIndexForward` request parameter." - ref: aws.dynamodb.table_names brief: "A single-element array with the value of the TableName request parameter." @@ -345,21 +362,25 @@ groups: attributes: - id: segment type: int + stability: experimental brief: "The value of the `Segment` request parameter." examples: - 10 - id: total_segments type: int + stability: experimental brief: "The value of the `TotalSegments` request parameter." examples: - 100 - id: count type: int + stability: experimental brief: "The value of the `Count` response parameter." examples: - 10 - id: scanned_count type: int + stability: experimental brief: "The value of the `ScannedCount` response parameter." examples: - 50 @@ -396,6 +417,7 @@ groups: attributes: - id: attribute_definitions type: string[] + stability: experimental brief: "The JSON-serialized value of each item in the `AttributeDefinitions` request field." examples: - '{ @@ -404,6 +426,7 @@ groups: }' - id: global_secondary_index_updates type: string[] + stability: experimental brief: "The JSON-serialized value of each item in the the `GlobalSecondaryIndexUpdates` request field." examples: - '{ @@ -440,6 +463,7 @@ groups: attributes: - id: bucket type: string + stability: experimental brief: "The S3 bucket name the request refers to. Corresponds to the `--bucket` parameter of the [S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) operations." examples: - some-bucket-name @@ -448,6 +472,7 @@ groups: This applies to almost all S3 operations except `list-buckets`. - id: key type: string + stability: experimental brief: "The S3 object key the request refers to. Corresponds to the `--key` parameter of the [S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html) operations." examples: - someFile.yml @@ -470,6 +495,7 @@ groups: - [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html) - id: copy_source type: string + stability: experimental brief: "The source object (in the form `bucket`/`key`) for the copy operation." examples: - someFile.yml @@ -482,6 +508,7 @@ groups: - [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html) - id: upload_id type: string + stability: experimental brief: "Upload ID that identifies the multipart upload." examples: - 'dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJ' @@ -497,6 +524,7 @@ groups: - [upload-part-copy](https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html) - id: delete type: string + stability: experimental brief: "The delete request container that specifies the objects to be deleted." examples: - 'Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean' @@ -506,6 +534,7 @@ groups: [delete-objects operation within the S3 API](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-objects.html). - id: part_number type: int + stability: experimental brief: "The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000." examples: - 3456 diff --git a/model/trace/instrumentation/graphql.yml b/model/trace/instrumentation/graphql.yml index 88af65e98e..f3f28d1585 100644 --- a/model/trace/instrumentation/graphql.yml +++ b/model/trace/instrumentation/graphql.yml @@ -9,9 +9,11 @@ groups: - id: operation.name brief: "The name of the operation being executed." type: string + stability: experimental examples: 'findBookById' - id: operation.type brief: "The type of the operation being executed." + stability: experimental type: allow_custom_values: false members: @@ -28,5 +30,6 @@ groups: - id: document brief: "The GraphQL document being executed." type: string + stability: experimental note: The value may be sanitized to exclude sensitive information. examples: 'query findBookById { bookById(id: ?) { name } }' diff --git a/model/trace/rpc.yaml b/model/trace/rpc.yaml index de36d6767a..42a3211d26 100644 --- a/model/trace/rpc.yaml +++ b/model/trace/rpc.yaml @@ -100,16 +100,20 @@ groups: value: "SENT" - id: received value: "RECEIVED" + stability: experimental brief: "Whether this is a received or sent message." - id: id type: int + stability: experimental brief: "MUST be calculated as two different counters starting from `1` one for sent messages and one for received message." note: "This way we guarantee that the values will be consistent between different implementations." - id: compressed_size type: int + stability: experimental brief: "Compressed size of the message in bytes." - id: uncompressed_size type: int + stability: experimental brief: "Uncompressed size of the message in bytes." - id: rpc.connect_rpc