From 90301caf82cd4c3d3ffdc40669518d9ad225a5e1 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Tue, 11 Mar 2025 22:50:05 +0100 Subject: [PATCH] Upgrade semantic conventions to 1.31.0 --- .../opentelemetry/semconv/azure_metrics.h | 97 + .../opentelemetry/semconv/cicd_metrics.h | 213 ++ .../opentelemetry/semconv/container_metrics.h | 266 +++ .../opentelemetry/semconv/cpu_metrics.h | 141 ++ .../opentelemetry/semconv/db_metrics.h | 866 ++++++++ .../opentelemetry/semconv/dns_metrics.h | 49 + .../semconv/exception_attributes.h | 6 +- .../opentelemetry/semconv/faas_metrics.h | 287 +++ .../opentelemetry/semconv/gen_ai_metrics.h | 157 ++ .../opentelemetry/semconv/hw_metrics.h | 344 ++++ .../semconv/incubating/cicd_attributes.h | 10 +- .../semconv/incubating/cloud_attributes.h | 13 +- .../semconv/incubating/code_attributes.h | 49 +- .../semconv/incubating/container_attributes.h | 8 +- .../semconv/incubating/cpu_attributes.h | 5 + .../semconv/incubating/cpu_metrics.h | 141 ++ .../semconv/incubating/db_attributes.h | 197 +- .../semconv/incubating/db_metrics.h | 62 +- .../incubating/deployment_attributes.h | 5 +- .../semconv/incubating/enduser_attributes.h | 27 +- .../semconv/incubating/event_attributes.h | 4 +- .../semconv/incubating/exception_attributes.h | 6 +- .../semconv/incubating/gen_ai_attributes.h | 122 +- .../semconv/incubating/http_attributes.h | 59 +- .../semconv/incubating/hw_metrics.h | 170 ++ .../semconv/incubating/k8s_attributes.h | 34 +- .../semconv/incubating/k8s_metrics.h | 186 +- .../semconv/incubating/message_attributes.h | 16 +- .../semconv/incubating/messaging_attributes.h | 54 +- .../semconv/incubating/messaging_metrics.h | 39 +- .../semconv/incubating/net_attributes.h | 67 +- .../semconv/incubating/oci_attributes.h | 4 +- .../semconv/incubating/otel_attributes.h | 87 +- .../semconv/incubating/otel_metrics.h | 337 ++++ .../semconv/incubating/other_attributes.h | 4 +- .../semconv/incubating/pool_attributes.h | 4 +- .../semconv/incubating/process_attributes.h | 15 +- .../semconv/incubating/process_metrics.h | 4 +- .../semconv/incubating/rpc_attributes.h | 2 +- .../semconv/incubating/system_attributes.h | 20 +- .../semconv/incubating/system_metrics.h | 85 +- .../semconv/incubating/tls_attributes.h | 12 +- .../semconv/incubating/url_attributes.h | 4 +- .../incubating/user_agent_attributes.h | 16 + .../semconv/incubating/vcs_attributes.h | 21 +- .../opentelemetry/semconv/k8s_metrics.h | 1735 +++++++++++++++++ .../opentelemetry/semconv/messaging_metrics.h | 414 ++++ .../opentelemetry/semconv/otel_metrics.h | 337 ++++ .../opentelemetry/semconv/process_metrics.h | 458 +++++ .../opentelemetry/semconv/rpc_metrics.h | 310 +++ .../opentelemetry/semconv/schema_url.h | 2 +- .../opentelemetry/semconv/system_metrics.h | 1339 +++++++++++++ .../opentelemetry/semconv/vcs_metrics.h | 435 +++++ buildscripts/semantic-convention/generate.sh | 4 +- .../templates/registry/weaver.yaml | 4 +- 55 files changed, 8915 insertions(+), 438 deletions(-) create mode 100644 api/include/opentelemetry/semconv/azure_metrics.h create mode 100644 api/include/opentelemetry/semconv/cicd_metrics.h create mode 100644 api/include/opentelemetry/semconv/container_metrics.h create mode 100644 api/include/opentelemetry/semconv/cpu_metrics.h create mode 100644 api/include/opentelemetry/semconv/db_metrics.h create mode 100644 api/include/opentelemetry/semconv/dns_metrics.h create mode 100644 api/include/opentelemetry/semconv/faas_metrics.h create mode 100644 api/include/opentelemetry/semconv/gen_ai_metrics.h create mode 100644 api/include/opentelemetry/semconv/hw_metrics.h create mode 100644 api/include/opentelemetry/semconv/incubating/cpu_metrics.h create mode 100644 api/include/opentelemetry/semconv/incubating/otel_metrics.h create mode 100644 api/include/opentelemetry/semconv/k8s_metrics.h create mode 100644 api/include/opentelemetry/semconv/messaging_metrics.h create mode 100644 api/include/opentelemetry/semconv/otel_metrics.h create mode 100644 api/include/opentelemetry/semconv/process_metrics.h create mode 100644 api/include/opentelemetry/semconv/rpc_metrics.h create mode 100644 api/include/opentelemetry/semconv/system_metrics.h create mode 100644 api/include/opentelemetry/semconv/vcs_metrics.h diff --git a/api/include/opentelemetry/semconv/azure_metrics.h b/api/include/opentelemetry/semconv/azure_metrics.h new file mode 100644 index 0000000000..63f4556b0b --- /dev/null +++ b/api/include/opentelemetry/semconv/azure_metrics.h @@ -0,0 +1,97 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * DO NOT EDIT, this is an Auto-generated file from: + * buildscripts/semantic-convention/templates/registry/semantic_metrics-h.j2 + */ + +#pragma once + +#include "opentelemetry/common/macros.h" +#include "opentelemetry/metrics/meter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace semconv +{ +namespace azure +{ + +/** + * Number of active client instances + *

+ * updowncounter + */ +static constexpr const char *kMetricAzureCosmosdbClientActiveInstanceCount = + "azure.cosmosdb.client.active_instance.count"; +static constexpr const char *descrMetricAzureCosmosdbClientActiveInstanceCount = + "Number of active client instances"; +static constexpr const char *unitMetricAzureCosmosdbClientActiveInstanceCount = "{instance}"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricAzureCosmosdbClientActiveInstanceCount(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricAzureCosmosdbClientActiveInstanceCount, + descrMetricAzureCosmosdbClientActiveInstanceCount, + unitMetricAzureCosmosdbClientActiveInstanceCount); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricAzureCosmosdbClientActiveInstanceCount(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricAzureCosmosdbClientActiveInstanceCount, + descrMetricAzureCosmosdbClientActiveInstanceCount, + unitMetricAzureCosmosdbClientActiveInstanceCount); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricAzureCosmosdbClientActiveInstanceCount(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter( + kMetricAzureCosmosdbClientActiveInstanceCount, + descrMetricAzureCosmosdbClientActiveInstanceCount, + unitMetricAzureCosmosdbClientActiveInstanceCount); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricAzureCosmosdbClientActiveInstanceCount(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter( + kMetricAzureCosmosdbClientActiveInstanceCount, + descrMetricAzureCosmosdbClientActiveInstanceCount, + unitMetricAzureCosmosdbClientActiveInstanceCount); +} + +/** + * Request units consumed by + * the operation

histogram + */ +static constexpr const char *kMetricAzureCosmosdbClientOperationRequestCharge = + "azure.cosmosdb.client.operation.request_charge"; +static constexpr const char *descrMetricAzureCosmosdbClientOperationRequestCharge = + "[Request units](https://learn.microsoft.com/azure/cosmos-db/request-units) consumed by the " + "operation"; +static constexpr const char *unitMetricAzureCosmosdbClientOperationRequestCharge = "{request_unit}"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricAzureCosmosdbClientOperationRequestCharge(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricAzureCosmosdbClientOperationRequestCharge, + descrMetricAzureCosmosdbClientOperationRequestCharge, + unitMetricAzureCosmosdbClientOperationRequestCharge); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricAzureCosmosdbClientOperationRequestCharge(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricAzureCosmosdbClientOperationRequestCharge, + descrMetricAzureCosmosdbClientOperationRequestCharge, + unitMetricAzureCosmosdbClientOperationRequestCharge); +} + +} // namespace azure +} // namespace semconv +OPENTELEMETRY_END_NAMESPACE diff --git a/api/include/opentelemetry/semconv/cicd_metrics.h b/api/include/opentelemetry/semconv/cicd_metrics.h new file mode 100644 index 0000000000..993c2636f4 --- /dev/null +++ b/api/include/opentelemetry/semconv/cicd_metrics.h @@ -0,0 +1,213 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * DO NOT EDIT, this is an Auto-generated file from: + * buildscripts/semantic-convention/templates/registry/semantic_metrics-h.j2 + */ + +#pragma once + +#include "opentelemetry/common/macros.h" +#include "opentelemetry/metrics/meter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace semconv +{ +namespace cicd +{ + +/** + * The number of pipeline runs currently active in the system by state. + *

+ * updowncounter + */ +static constexpr const char *kMetricCicdPipelineRunActive = "cicd.pipeline.run.active"; +static constexpr const char *descrMetricCicdPipelineRunActive = + "The number of pipeline runs currently active in the system by state."; +static constexpr const char *unitMetricCicdPipelineRunActive = "{run}"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricCicdPipelineRunActive(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricCicdPipelineRunActive, + descrMetricCicdPipelineRunActive, + unitMetricCicdPipelineRunActive); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricCicdPipelineRunActive(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricCicdPipelineRunActive, + descrMetricCicdPipelineRunActive, + unitMetricCicdPipelineRunActive); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricCicdPipelineRunActive(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter(kMetricCicdPipelineRunActive, + descrMetricCicdPipelineRunActive, + unitMetricCicdPipelineRunActive); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricCicdPipelineRunActive(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter(kMetricCicdPipelineRunActive, + descrMetricCicdPipelineRunActive, + unitMetricCicdPipelineRunActive); +} + +/** + * Duration of a pipeline run grouped by pipeline, state and result. + *

+ * histogram + */ +static constexpr const char *kMetricCicdPipelineRunDuration = "cicd.pipeline.run.duration"; +static constexpr const char *descrMetricCicdPipelineRunDuration = + "Duration of a pipeline run grouped by pipeline, state and result."; +static constexpr const char *unitMetricCicdPipelineRunDuration = "s"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricCicdPipelineRunDuration(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricCicdPipelineRunDuration, + descrMetricCicdPipelineRunDuration, + unitMetricCicdPipelineRunDuration); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricCicdPipelineRunDuration(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricCicdPipelineRunDuration, + descrMetricCicdPipelineRunDuration, + unitMetricCicdPipelineRunDuration); +} + +/** + * The number of errors encountered in pipeline runs (eg. compile, test failures). + *

+ * There might be errors in a pipeline run that are non fatal (eg. they are suppressed) or in a + * parallel stage multiple stages could have a fatal error. This means that this error count might + * not be the same as the count of metric @code cicd.pipeline.run.duration @endcode with run result + * @code failure @endcode.

counter + */ +static constexpr const char *kMetricCicdPipelineRunErrors = "cicd.pipeline.run.errors"; +static constexpr const char *descrMetricCicdPipelineRunErrors = + "The number of errors encountered in pipeline runs (eg. compile, test failures)."; +static constexpr const char *unitMetricCicdPipelineRunErrors = "{error}"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricCicdPipelineRunErrors(metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricCicdPipelineRunErrors, descrMetricCicdPipelineRunErrors, + unitMetricCicdPipelineRunErrors); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricCicdPipelineRunErrors(metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricCicdPipelineRunErrors, descrMetricCicdPipelineRunErrors, + unitMetricCicdPipelineRunErrors); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricCicdPipelineRunErrors(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricCicdPipelineRunErrors, + descrMetricCicdPipelineRunErrors, + unitMetricCicdPipelineRunErrors); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricCicdPipelineRunErrors(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricCicdPipelineRunErrors, + descrMetricCicdPipelineRunErrors, + unitMetricCicdPipelineRunErrors); +} + +/** + * The number of errors in a component of the CICD system (eg. controller, scheduler, agent). + *

+ * Errors in pipeline run execution are explicitly excluded. Ie a test failure is not counted in + * this metric.

counter + */ +static constexpr const char *kMetricCicdSystemErrors = "cicd.system.errors"; +static constexpr const char *descrMetricCicdSystemErrors = + "The number of errors in a component of the CICD system (eg. controller, scheduler, agent)."; +static constexpr const char *unitMetricCicdSystemErrors = "{error}"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricCicdSystemErrors( + metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricCicdSystemErrors, descrMetricCicdSystemErrors, + unitMetricCicdSystemErrors); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricCicdSystemErrors( + metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricCicdSystemErrors, descrMetricCicdSystemErrors, + unitMetricCicdSystemErrors); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricCicdSystemErrors(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricCicdSystemErrors, descrMetricCicdSystemErrors, + unitMetricCicdSystemErrors); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricCicdSystemErrors(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricCicdSystemErrors, descrMetricCicdSystemErrors, + unitMetricCicdSystemErrors); +} + +/** + * The number of workers on the CICD system by state. + *

+ * updowncounter + */ +static constexpr const char *kMetricCicdWorkerCount = "cicd.worker.count"; +static constexpr const char *descrMetricCicdWorkerCount = + "The number of workers on the CICD system by state."; +static constexpr const char *unitMetricCicdWorkerCount = "{count}"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricCicdWorkerCount(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricCicdWorkerCount, descrMetricCicdWorkerCount, + unitMetricCicdWorkerCount); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricCicdWorkerCount(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricCicdWorkerCount, descrMetricCicdWorkerCount, + unitMetricCicdWorkerCount); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricCicdWorkerCount(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter( + kMetricCicdWorkerCount, descrMetricCicdWorkerCount, unitMetricCicdWorkerCount); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricCicdWorkerCount(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter( + kMetricCicdWorkerCount, descrMetricCicdWorkerCount, unitMetricCicdWorkerCount); +} + +} // namespace cicd +} // namespace semconv +OPENTELEMETRY_END_NAMESPACE diff --git a/api/include/opentelemetry/semconv/container_metrics.h b/api/include/opentelemetry/semconv/container_metrics.h new file mode 100644 index 0000000000..d3fef8b91b --- /dev/null +++ b/api/include/opentelemetry/semconv/container_metrics.h @@ -0,0 +1,266 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * DO NOT EDIT, this is an Auto-generated file from: + * buildscripts/semantic-convention/templates/registry/semantic_metrics-h.j2 + */ + +#pragma once + +#include "opentelemetry/common/macros.h" +#include "opentelemetry/metrics/meter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace semconv +{ +namespace container +{ + +/** + * Total CPU time consumed + *

+ * Total CPU time consumed by the specific container on all available CPU cores + *

+ * counter + */ +static constexpr const char *kMetricContainerCpuTime = "container.cpu.time"; +static constexpr const char *descrMetricContainerCpuTime = "Total CPU time consumed"; +static constexpr const char *unitMetricContainerCpuTime = "s"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricContainerCpuTime( + metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricContainerCpuTime, descrMetricContainerCpuTime, + unitMetricContainerCpuTime); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricContainerCpuTime( + metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricContainerCpuTime, descrMetricContainerCpuTime, + unitMetricContainerCpuTime); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricContainerCpuTime(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricContainerCpuTime, descrMetricContainerCpuTime, + unitMetricContainerCpuTime); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricContainerCpuTime(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricContainerCpuTime, descrMetricContainerCpuTime, + unitMetricContainerCpuTime); +} + +/** + * Container's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs + *

+ * CPU usage of the specific container on all available CPU cores, averaged over the sample window + *

+ * gauge + */ +static constexpr const char *kMetricContainerCpuUsage = "container.cpu.usage"; +static constexpr const char *descrMetricContainerCpuUsage = + "Container's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs"; +static constexpr const char *unitMetricContainerCpuUsage = "{cpu}"; + +#if OPENTELEMETRY_ABI_VERSION_NO >= 2 + +static inline nostd::unique_ptr> CreateSyncInt64MetricContainerCpuUsage( + metrics::Meter *meter) +{ + return meter->CreateInt64Gauge(kMetricContainerCpuUsage, descrMetricContainerCpuUsage, + unitMetricContainerCpuUsage); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricContainerCpuUsage( + metrics::Meter *meter) +{ + return meter->CreateDoubleGauge(kMetricContainerCpuUsage, descrMetricContainerCpuUsage, + unitMetricContainerCpuUsage); +} +#endif /* OPENTELEMETRY_ABI_VERSION_NO */ + +static inline nostd::shared_ptr +CreateAsyncInt64MetricContainerCpuUsage(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableGauge(kMetricContainerCpuUsage, descrMetricContainerCpuUsage, + unitMetricContainerCpuUsage); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricContainerCpuUsage(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableGauge(kMetricContainerCpuUsage, descrMetricContainerCpuUsage, + unitMetricContainerCpuUsage); +} + +/** + * Disk bytes for the container. + *

+ * The total number of bytes read/written successfully (aggregated from all disks). + *

+ * counter + */ +static constexpr const char *kMetricContainerDiskIo = "container.disk.io"; +static constexpr const char *descrMetricContainerDiskIo = "Disk bytes for the container."; +static constexpr const char *unitMetricContainerDiskIo = "By"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricContainerDiskIo( + metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricContainerDiskIo, descrMetricContainerDiskIo, + unitMetricContainerDiskIo); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricContainerDiskIo( + metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricContainerDiskIo, descrMetricContainerDiskIo, + unitMetricContainerDiskIo); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricContainerDiskIo(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricContainerDiskIo, descrMetricContainerDiskIo, + unitMetricContainerDiskIo); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricContainerDiskIo(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricContainerDiskIo, descrMetricContainerDiskIo, + unitMetricContainerDiskIo); +} + +/** + * Memory usage of the container. + *

+ * Memory usage of the container. + *

+ * counter + */ +static constexpr const char *kMetricContainerMemoryUsage = "container.memory.usage"; +static constexpr const char *descrMetricContainerMemoryUsage = "Memory usage of the container."; +static constexpr const char *unitMetricContainerMemoryUsage = "By"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricContainerMemoryUsage(metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage, + unitMetricContainerMemoryUsage); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricContainerMemoryUsage(metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage, + unitMetricContainerMemoryUsage); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricContainerMemoryUsage(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter( + kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage, unitMetricContainerMemoryUsage); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricContainerMemoryUsage(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter( + kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage, unitMetricContainerMemoryUsage); +} + +/** + * Network bytes for the container. + *

+ * The number of bytes sent/received on all network interfaces by the container. + *

+ * counter + */ +static constexpr const char *kMetricContainerNetworkIo = "container.network.io"; +static constexpr const char *descrMetricContainerNetworkIo = "Network bytes for the container."; +static constexpr const char *unitMetricContainerNetworkIo = "By"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricContainerNetworkIo( + metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricContainerNetworkIo, descrMetricContainerNetworkIo, + unitMetricContainerNetworkIo); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricContainerNetworkIo( + metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricContainerNetworkIo, descrMetricContainerNetworkIo, + unitMetricContainerNetworkIo); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricContainerNetworkIo(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter( + kMetricContainerNetworkIo, descrMetricContainerNetworkIo, unitMetricContainerNetworkIo); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricContainerNetworkIo(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter( + kMetricContainerNetworkIo, descrMetricContainerNetworkIo, unitMetricContainerNetworkIo); +} + +/** + * The time the container has been running + *

+ * Instrumentations SHOULD use a gauge with type @code double @endcode and measure uptime in seconds + * as a floating point number with the highest precision available. The actual accuracy would depend + * on the instrumentation and operating system.

gauge + */ +static constexpr const char *kMetricContainerUptime = "container.uptime"; +static constexpr const char *descrMetricContainerUptime = "The time the container has been running"; +static constexpr const char *unitMetricContainerUptime = "s"; + +#if OPENTELEMETRY_ABI_VERSION_NO >= 2 + +static inline nostd::unique_ptr> CreateSyncInt64MetricContainerUptime( + metrics::Meter *meter) +{ + return meter->CreateInt64Gauge(kMetricContainerUptime, descrMetricContainerUptime, + unitMetricContainerUptime); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricContainerUptime( + metrics::Meter *meter) +{ + return meter->CreateDoubleGauge(kMetricContainerUptime, descrMetricContainerUptime, + unitMetricContainerUptime); +} +#endif /* OPENTELEMETRY_ABI_VERSION_NO */ + +static inline nostd::shared_ptr +CreateAsyncInt64MetricContainerUptime(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableGauge(kMetricContainerUptime, descrMetricContainerUptime, + unitMetricContainerUptime); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricContainerUptime(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableGauge(kMetricContainerUptime, descrMetricContainerUptime, + unitMetricContainerUptime); +} + +} // namespace container +} // namespace semconv +OPENTELEMETRY_END_NAMESPACE diff --git a/api/include/opentelemetry/semconv/cpu_metrics.h b/api/include/opentelemetry/semconv/cpu_metrics.h new file mode 100644 index 0000000000..f9e6de5eb2 --- /dev/null +++ b/api/include/opentelemetry/semconv/cpu_metrics.h @@ -0,0 +1,141 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * DO NOT EDIT, this is an Auto-generated file from: + * buildscripts/semantic-convention/templates/registry/semantic_metrics-h.j2 + */ + +#pragma once + +#include "opentelemetry/common/macros.h" +#include "opentelemetry/metrics/meter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace semconv +{ +namespace cpu +{ + +/** + * Operating frequency of the logical CPU in Hertz. + *

+ * gauge + */ +static constexpr const char *kMetricCpuFrequency = "cpu.frequency"; +static constexpr const char *descrMetricCpuFrequency = + "Operating frequency of the logical CPU in Hertz."; +static constexpr const char *unitMetricCpuFrequency = "Hz"; + +#if OPENTELEMETRY_ABI_VERSION_NO >= 2 + +static inline nostd::unique_ptr> CreateSyncInt64MetricCpuFrequency( + metrics::Meter *meter) +{ + return meter->CreateInt64Gauge(kMetricCpuFrequency, descrMetricCpuFrequency, + unitMetricCpuFrequency); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricCpuFrequency( + metrics::Meter *meter) +{ + return meter->CreateDoubleGauge(kMetricCpuFrequency, descrMetricCpuFrequency, + unitMetricCpuFrequency); +} +#endif /* OPENTELEMETRY_ABI_VERSION_NO */ + +static inline nostd::shared_ptr CreateAsyncInt64MetricCpuFrequency( + metrics::Meter *meter) +{ + return meter->CreateInt64ObservableGauge(kMetricCpuFrequency, descrMetricCpuFrequency, + unitMetricCpuFrequency); +} + +static inline nostd::shared_ptr CreateAsyncDoubleMetricCpuFrequency( + metrics::Meter *meter) +{ + return meter->CreateDoubleObservableGauge(kMetricCpuFrequency, descrMetricCpuFrequency, + unitMetricCpuFrequency); +} + +/** + * Seconds each logical CPU spent on each mode + *

+ * counter + */ +static constexpr const char *kMetricCpuTime = "cpu.time"; +static constexpr const char *descrMetricCpuTime = "Seconds each logical CPU spent on each mode"; +static constexpr const char *unitMetricCpuTime = "s"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricCpuTime( + metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricCpuTime, descrMetricCpuTime, unitMetricCpuTime); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricCpuTime( + metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricCpuTime, descrMetricCpuTime, unitMetricCpuTime); +} + +static inline nostd::shared_ptr CreateAsyncInt64MetricCpuTime( + metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricCpuTime, descrMetricCpuTime, unitMetricCpuTime); +} + +static inline nostd::shared_ptr CreateAsyncDoubleMetricCpuTime( + metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricCpuTime, descrMetricCpuTime, + unitMetricCpuTime); +} + +/** + * For each logical CPU, the utilization is calculated as the change in cumulative CPU time + * (cpu.time) over a measurement interval, divided by the elapsed time.

gauge + */ +static constexpr const char *kMetricCpuUtilization = "cpu.utilization"; +static constexpr const char *descrMetricCpuUtilization = + "For each logical CPU, the utilization is calculated as the change in cumulative CPU time " + "(cpu.time) over a measurement interval, divided by the elapsed time."; +static constexpr const char *unitMetricCpuUtilization = "1"; + +#if OPENTELEMETRY_ABI_VERSION_NO >= 2 + +static inline nostd::unique_ptr> CreateSyncInt64MetricCpuUtilization( + metrics::Meter *meter) +{ + return meter->CreateInt64Gauge(kMetricCpuUtilization, descrMetricCpuUtilization, + unitMetricCpuUtilization); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricCpuUtilization( + metrics::Meter *meter) +{ + return meter->CreateDoubleGauge(kMetricCpuUtilization, descrMetricCpuUtilization, + unitMetricCpuUtilization); +} +#endif /* OPENTELEMETRY_ABI_VERSION_NO */ + +static inline nostd::shared_ptr CreateAsyncInt64MetricCpuUtilization( + metrics::Meter *meter) +{ + return meter->CreateInt64ObservableGauge(kMetricCpuUtilization, descrMetricCpuUtilization, + unitMetricCpuUtilization); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricCpuUtilization(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableGauge(kMetricCpuUtilization, descrMetricCpuUtilization, + unitMetricCpuUtilization); +} + +} // namespace cpu +} // namespace semconv +OPENTELEMETRY_END_NAMESPACE diff --git a/api/include/opentelemetry/semconv/db_metrics.h b/api/include/opentelemetry/semconv/db_metrics.h new file mode 100644 index 0000000000..a444adf5f9 --- /dev/null +++ b/api/include/opentelemetry/semconv/db_metrics.h @@ -0,0 +1,866 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * DO NOT EDIT, this is an Auto-generated file from: + * buildscripts/semantic-convention/templates/registry/semantic_metrics-h.j2 + */ + +#pragma once + +#include "opentelemetry/common/macros.h" +#include "opentelemetry/metrics/meter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace semconv +{ +namespace db +{ + +/** + * The number of connections that are currently in state described by the @code state @endcode + * attribute

updowncounter + */ +static constexpr const char *kMetricDbClientConnectionCount = "db.client.connection.count"; +static constexpr const char *descrMetricDbClientConnectionCount = + "The number of connections that are currently in state described by the `state` attribute"; +static constexpr const char *unitMetricDbClientConnectionCount = "{connection}"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionCount(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricDbClientConnectionCount, + descrMetricDbClientConnectionCount, + unitMetricDbClientConnectionCount); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionCount(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricDbClientConnectionCount, + descrMetricDbClientConnectionCount, + unitMetricDbClientConnectionCount); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricDbClientConnectionCount(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter(kMetricDbClientConnectionCount, + descrMetricDbClientConnectionCount, + unitMetricDbClientConnectionCount); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricDbClientConnectionCount(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter(kMetricDbClientConnectionCount, + descrMetricDbClientConnectionCount, + unitMetricDbClientConnectionCount); +} + +/** + * The time it took to create a new connection + *

+ * histogram + */ +static constexpr const char *kMetricDbClientConnectionCreateTime = + "db.client.connection.create_time"; +static constexpr const char *descrMetricDbClientConnectionCreateTime = + "The time it took to create a new connection"; +static constexpr const char *unitMetricDbClientConnectionCreateTime = "s"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionCreateTime(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricDbClientConnectionCreateTime, + descrMetricDbClientConnectionCreateTime, + unitMetricDbClientConnectionCreateTime); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionCreateTime(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricDbClientConnectionCreateTime, + descrMetricDbClientConnectionCreateTime, + unitMetricDbClientConnectionCreateTime); +} + +/** + * The maximum number of idle open connections allowed + *

+ * updowncounter + */ +static constexpr const char *kMetricDbClientConnectionIdleMax = "db.client.connection.idle.max"; +static constexpr const char *descrMetricDbClientConnectionIdleMax = + "The maximum number of idle open connections allowed"; +static constexpr const char *unitMetricDbClientConnectionIdleMax = "{connection}"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionIdleMax(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricDbClientConnectionIdleMax, + descrMetricDbClientConnectionIdleMax, + unitMetricDbClientConnectionIdleMax); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionIdleMax(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricDbClientConnectionIdleMax, + descrMetricDbClientConnectionIdleMax, + unitMetricDbClientConnectionIdleMax); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricDbClientConnectionIdleMax(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter(kMetricDbClientConnectionIdleMax, + descrMetricDbClientConnectionIdleMax, + unitMetricDbClientConnectionIdleMax); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricDbClientConnectionIdleMax(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter(kMetricDbClientConnectionIdleMax, + descrMetricDbClientConnectionIdleMax, + unitMetricDbClientConnectionIdleMax); +} + +/** + * The minimum number of idle open connections allowed + *

+ * updowncounter + */ +static constexpr const char *kMetricDbClientConnectionIdleMin = "db.client.connection.idle.min"; +static constexpr const char *descrMetricDbClientConnectionIdleMin = + "The minimum number of idle open connections allowed"; +static constexpr const char *unitMetricDbClientConnectionIdleMin = "{connection}"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionIdleMin(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricDbClientConnectionIdleMin, + descrMetricDbClientConnectionIdleMin, + unitMetricDbClientConnectionIdleMin); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionIdleMin(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricDbClientConnectionIdleMin, + descrMetricDbClientConnectionIdleMin, + unitMetricDbClientConnectionIdleMin); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricDbClientConnectionIdleMin(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter(kMetricDbClientConnectionIdleMin, + descrMetricDbClientConnectionIdleMin, + unitMetricDbClientConnectionIdleMin); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricDbClientConnectionIdleMin(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter(kMetricDbClientConnectionIdleMin, + descrMetricDbClientConnectionIdleMin, + unitMetricDbClientConnectionIdleMin); +} + +/** + * The maximum number of open connections allowed + *

+ * updowncounter + */ +static constexpr const char *kMetricDbClientConnectionMax = "db.client.connection.max"; +static constexpr const char *descrMetricDbClientConnectionMax = + "The maximum number of open connections allowed"; +static constexpr const char *unitMetricDbClientConnectionMax = "{connection}"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionMax(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricDbClientConnectionMax, + descrMetricDbClientConnectionMax, + unitMetricDbClientConnectionMax); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionMax(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricDbClientConnectionMax, + descrMetricDbClientConnectionMax, + unitMetricDbClientConnectionMax); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricDbClientConnectionMax(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter(kMetricDbClientConnectionMax, + descrMetricDbClientConnectionMax, + unitMetricDbClientConnectionMax); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricDbClientConnectionMax(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter(kMetricDbClientConnectionMax, + descrMetricDbClientConnectionMax, + unitMetricDbClientConnectionMax); +} + +/** + * The number of current pending requests for an open connection + *

+ * updowncounter + */ +static constexpr const char *kMetricDbClientConnectionPendingRequests = + "db.client.connection.pending_requests"; +static constexpr const char *descrMetricDbClientConnectionPendingRequests = + "The number of current pending requests for an open connection"; +static constexpr const char *unitMetricDbClientConnectionPendingRequests = "{request}"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionPendingRequests(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricDbClientConnectionPendingRequests, + descrMetricDbClientConnectionPendingRequests, + unitMetricDbClientConnectionPendingRequests); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionPendingRequests(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricDbClientConnectionPendingRequests, + descrMetricDbClientConnectionPendingRequests, + unitMetricDbClientConnectionPendingRequests); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricDbClientConnectionPendingRequests(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter(kMetricDbClientConnectionPendingRequests, + descrMetricDbClientConnectionPendingRequests, + unitMetricDbClientConnectionPendingRequests); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricDbClientConnectionPendingRequests(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter(kMetricDbClientConnectionPendingRequests, + descrMetricDbClientConnectionPendingRequests, + unitMetricDbClientConnectionPendingRequests); +} + +/** + * The number of connection timeouts that have occurred trying to obtain a connection from the pool + *

+ * counter + */ +static constexpr const char *kMetricDbClientConnectionTimeouts = "db.client.connection.timeouts"; +static constexpr const char *descrMetricDbClientConnectionTimeouts = + "The number of connection timeouts that have occurred trying to obtain a connection from the " + "pool"; +static constexpr const char *unitMetricDbClientConnectionTimeouts = "{timeout}"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionTimeouts(metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricDbClientConnectionTimeouts, + descrMetricDbClientConnectionTimeouts, + unitMetricDbClientConnectionTimeouts); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionTimeouts(metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricDbClientConnectionTimeouts, + descrMetricDbClientConnectionTimeouts, + unitMetricDbClientConnectionTimeouts); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricDbClientConnectionTimeouts(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricDbClientConnectionTimeouts, + descrMetricDbClientConnectionTimeouts, + unitMetricDbClientConnectionTimeouts); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricDbClientConnectionTimeouts(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricDbClientConnectionTimeouts, + descrMetricDbClientConnectionTimeouts, + unitMetricDbClientConnectionTimeouts); +} + +/** + * The time between borrowing a connection and returning it to the pool + *

+ * histogram + */ +static constexpr const char *kMetricDbClientConnectionUseTime = "db.client.connection.use_time"; +static constexpr const char *descrMetricDbClientConnectionUseTime = + "The time between borrowing a connection and returning it to the pool"; +static constexpr const char *unitMetricDbClientConnectionUseTime = "s"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionUseTime(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricDbClientConnectionUseTime, + descrMetricDbClientConnectionUseTime, + unitMetricDbClientConnectionUseTime); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionUseTime(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricDbClientConnectionUseTime, + descrMetricDbClientConnectionUseTime, + unitMetricDbClientConnectionUseTime); +} + +/** + * The time it took to obtain an open connection from the pool + *

+ * histogram + */ +static constexpr const char *kMetricDbClientConnectionWaitTime = "db.client.connection.wait_time"; +static constexpr const char *descrMetricDbClientConnectionWaitTime = + "The time it took to obtain an open connection from the pool"; +static constexpr const char *unitMetricDbClientConnectionWaitTime = "s"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionWaitTime(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricDbClientConnectionWaitTime, + descrMetricDbClientConnectionWaitTime, + unitMetricDbClientConnectionWaitTime); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionWaitTime(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricDbClientConnectionWaitTime, + descrMetricDbClientConnectionWaitTime, + unitMetricDbClientConnectionWaitTime); +} + +/** + * Deprecated, use @code db.client.connection.create_time @endcode instead. Note: the unit also + * changed from @code ms @endcode to @code s @endcode. + * + * @deprecated + * {"note": "Replaced by @code db.client.connection.create_time @endcode. Note: the unit also + * changed from @code ms @endcode to @code s @endcode.", "reason": "uncategorized"}

histogram + */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsCreateTime = + "db.client.connections.create_time"; +OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricDbClientConnectionsCreateTime = + "Deprecated, use `db.client.connection.create_time` instead. Note: the unit also changed from " + "`ms` to `s`."; +OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricDbClientConnectionsCreateTime = + "ms"; + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionsCreateTime(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricDbClientConnectionsCreateTime, + descrMetricDbClientConnectionsCreateTime, + unitMetricDbClientConnectionsCreateTime); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionsCreateTime(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricDbClientConnectionsCreateTime, + descrMetricDbClientConnectionsCreateTime, + unitMetricDbClientConnectionsCreateTime); +} + +/** + * Deprecated, use @code db.client.connection.idle.max @endcode instead. + * + * @deprecated + * {"note": "Replaced by @code db.client.connection.idle.max @endcode.", "reason": "uncategorized"} + *

+ * updowncounter + */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsIdleMax = + "db.client.connections.idle.max"; +OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricDbClientConnectionsIdleMax = + "Deprecated, use `db.client.connection.idle.max` instead."; +OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricDbClientConnectionsIdleMax = + "{connection}"; + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionsIdleMax(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricDbClientConnectionsIdleMax, + descrMetricDbClientConnectionsIdleMax, + unitMetricDbClientConnectionsIdleMax); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionsIdleMax(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricDbClientConnectionsIdleMax, + descrMetricDbClientConnectionsIdleMax, + unitMetricDbClientConnectionsIdleMax); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncInt64MetricDbClientConnectionsIdleMax(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter(kMetricDbClientConnectionsIdleMax, + descrMetricDbClientConnectionsIdleMax, + unitMetricDbClientConnectionsIdleMax); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncDoubleMetricDbClientConnectionsIdleMax(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter(kMetricDbClientConnectionsIdleMax, + descrMetricDbClientConnectionsIdleMax, + unitMetricDbClientConnectionsIdleMax); +} + +/** + * Deprecated, use @code db.client.connection.idle.min @endcode instead. + * + * @deprecated + * {"note": "Replaced by @code db.client.connection.idle.min @endcode.", "reason": "uncategorized"} + *

+ * updowncounter + */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsIdleMin = + "db.client.connections.idle.min"; +OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricDbClientConnectionsIdleMin = + "Deprecated, use `db.client.connection.idle.min` instead."; +OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricDbClientConnectionsIdleMin = + "{connection}"; + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionsIdleMin(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricDbClientConnectionsIdleMin, + descrMetricDbClientConnectionsIdleMin, + unitMetricDbClientConnectionsIdleMin); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionsIdleMin(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricDbClientConnectionsIdleMin, + descrMetricDbClientConnectionsIdleMin, + unitMetricDbClientConnectionsIdleMin); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncInt64MetricDbClientConnectionsIdleMin(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter(kMetricDbClientConnectionsIdleMin, + descrMetricDbClientConnectionsIdleMin, + unitMetricDbClientConnectionsIdleMin); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncDoubleMetricDbClientConnectionsIdleMin(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter(kMetricDbClientConnectionsIdleMin, + descrMetricDbClientConnectionsIdleMin, + unitMetricDbClientConnectionsIdleMin); +} + +/** + * Deprecated, use @code db.client.connection.max @endcode instead. + * + * @deprecated + * {"note": "Replaced by @code db.client.connection.max @endcode.", "reason": "uncategorized"} + *

+ * updowncounter + */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsMax = + "db.client.connections.max"; +OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricDbClientConnectionsMax = + "Deprecated, use `db.client.connection.max` instead."; +OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricDbClientConnectionsMax = + "{connection}"; + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionsMax(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricDbClientConnectionsMax, + descrMetricDbClientConnectionsMax, + unitMetricDbClientConnectionsMax); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionsMax(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricDbClientConnectionsMax, + descrMetricDbClientConnectionsMax, + unitMetricDbClientConnectionsMax); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncInt64MetricDbClientConnectionsMax(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter(kMetricDbClientConnectionsMax, + descrMetricDbClientConnectionsMax, + unitMetricDbClientConnectionsMax); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncDoubleMetricDbClientConnectionsMax(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter(kMetricDbClientConnectionsMax, + descrMetricDbClientConnectionsMax, + unitMetricDbClientConnectionsMax); +} + +/** + * Deprecated, use @code db.client.connection.pending_requests @endcode instead. + * + * @deprecated + * {"note": "Replaced by @code db.client.connection.pending_requests @endcode.", "reason": + * "uncategorized"}

updowncounter + */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsPendingRequests = + "db.client.connections.pending_requests"; +OPENTELEMETRY_DEPRECATED static constexpr const char + *descrMetricDbClientConnectionsPendingRequests = + "Deprecated, use `db.client.connection.pending_requests` instead."; +OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricDbClientConnectionsPendingRequests = + "{request}"; + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionsPendingRequests(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricDbClientConnectionsPendingRequests, + descrMetricDbClientConnectionsPendingRequests, + unitMetricDbClientConnectionsPendingRequests); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionsPendingRequests(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricDbClientConnectionsPendingRequests, + descrMetricDbClientConnectionsPendingRequests, + unitMetricDbClientConnectionsPendingRequests); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncInt64MetricDbClientConnectionsPendingRequests(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter(kMetricDbClientConnectionsPendingRequests, + descrMetricDbClientConnectionsPendingRequests, + unitMetricDbClientConnectionsPendingRequests); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncDoubleMetricDbClientConnectionsPendingRequests(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter(kMetricDbClientConnectionsPendingRequests, + descrMetricDbClientConnectionsPendingRequests, + unitMetricDbClientConnectionsPendingRequests); +} + +/** + * Deprecated, use @code db.client.connection.timeouts @endcode instead. + * + * @deprecated + * {"note": "Replaced by @code db.client.connection.timeouts @endcode.", "reason": "uncategorized"} + *

+ * counter + */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsTimeouts = + "db.client.connections.timeouts"; +OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricDbClientConnectionsTimeouts = + "Deprecated, use `db.client.connection.timeouts` instead."; +OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricDbClientConnectionsTimeouts = + "{timeout}"; + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionsTimeouts(metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricDbClientConnectionsTimeouts, + descrMetricDbClientConnectionsTimeouts, + unitMetricDbClientConnectionsTimeouts); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionsTimeouts(metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricDbClientConnectionsTimeouts, + descrMetricDbClientConnectionsTimeouts, + unitMetricDbClientConnectionsTimeouts); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncInt64MetricDbClientConnectionsTimeouts(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricDbClientConnectionsTimeouts, + descrMetricDbClientConnectionsTimeouts, + unitMetricDbClientConnectionsTimeouts); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncDoubleMetricDbClientConnectionsTimeouts(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricDbClientConnectionsTimeouts, + descrMetricDbClientConnectionsTimeouts, + unitMetricDbClientConnectionsTimeouts); +} + +/** + * Deprecated, use @code db.client.connection.count @endcode instead. + * + * @deprecated + * {"note": "Replaced by @code db.client.connection.count @endcode.", "reason": "uncategorized"} + *

+ * updowncounter + */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsUsage = + "db.client.connections.usage"; +OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricDbClientConnectionsUsage = + "Deprecated, use `db.client.connection.count` instead."; +OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricDbClientConnectionsUsage = + "{connection}"; + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionsUsage(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricDbClientConnectionsUsage, + descrMetricDbClientConnectionsUsage, + unitMetricDbClientConnectionsUsage); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionsUsage(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricDbClientConnectionsUsage, + descrMetricDbClientConnectionsUsage, + unitMetricDbClientConnectionsUsage); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncInt64MetricDbClientConnectionsUsage(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter(kMetricDbClientConnectionsUsage, + descrMetricDbClientConnectionsUsage, + unitMetricDbClientConnectionsUsage); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncDoubleMetricDbClientConnectionsUsage(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter(kMetricDbClientConnectionsUsage, + descrMetricDbClientConnectionsUsage, + unitMetricDbClientConnectionsUsage); +} + +/** + * Deprecated, use @code db.client.connection.use_time @endcode instead. Note: the unit also changed + * from @code ms @endcode to @code s @endcode. + * + * @deprecated + * {"note": "Replaced by @code db.client.connection.use_time @endcode. Note: the unit also changed + * from @code ms @endcode to @code s @endcode.", "reason": "uncategorized"}

histogram + */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsUseTime = + "db.client.connections.use_time"; +OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricDbClientConnectionsUseTime = + "Deprecated, use `db.client.connection.use_time` instead. Note: the unit also changed from " + "`ms` to `s`."; +OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricDbClientConnectionsUseTime = "ms"; + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionsUseTime(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricDbClientConnectionsUseTime, + descrMetricDbClientConnectionsUseTime, + unitMetricDbClientConnectionsUseTime); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionsUseTime(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricDbClientConnectionsUseTime, + descrMetricDbClientConnectionsUseTime, + unitMetricDbClientConnectionsUseTime); +} + +/** + * Deprecated, use @code db.client.connection.wait_time @endcode instead. Note: the unit also + * changed from @code ms @endcode to @code s @endcode. + * + * @deprecated + * {"note": "Replaced by @code db.client.connection.wait_time @endcode. Note: the unit also changed + * from @code ms @endcode to @code s @endcode.", "reason": "uncategorized"}

histogram + */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientConnectionsWaitTime = + "db.client.connections.wait_time"; +OPENTELEMETRY_DEPRECATED static constexpr const char *descrMetricDbClientConnectionsWaitTime = + "Deprecated, use `db.client.connection.wait_time` instead. Note: the unit also changed from " + "`ms` to `s`."; +OPENTELEMETRY_DEPRECATED static constexpr const char *unitMetricDbClientConnectionsWaitTime = "ms"; + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientConnectionsWaitTime(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricDbClientConnectionsWaitTime, + descrMetricDbClientConnectionsWaitTime, + unitMetricDbClientConnectionsWaitTime); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientConnectionsWaitTime(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricDbClientConnectionsWaitTime, + descrMetricDbClientConnectionsWaitTime, + unitMetricDbClientConnectionsWaitTime); +} + +/** + * Deprecated, use @code azure.cosmosdb.client.active_instance.count @endcode instead. + * + * @deprecated + * {"note": "Replaced by @code azure.cosmosdb.client.active_instance.count @endcode.", "reason": + * "uncategorized"}

updowncounter + */ +OPENTELEMETRY_DEPRECATED static constexpr const char *kMetricDbClientCosmosdbActiveInstanceCount = + "db.client.cosmosdb.active_instance.count"; +OPENTELEMETRY_DEPRECATED static constexpr const char + *descrMetricDbClientCosmosdbActiveInstanceCount = + "Deprecated, use `azure.cosmosdb.client.active_instance.count` instead."; +OPENTELEMETRY_DEPRECATED static constexpr const char + *unitMetricDbClientCosmosdbActiveInstanceCount = "{instance}"; + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientCosmosdbActiveInstanceCount(metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricDbClientCosmosdbActiveInstanceCount, + descrMetricDbClientCosmosdbActiveInstanceCount, + unitMetricDbClientCosmosdbActiveInstanceCount); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientCosmosdbActiveInstanceCount(metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricDbClientCosmosdbActiveInstanceCount, + descrMetricDbClientCosmosdbActiveInstanceCount, + unitMetricDbClientCosmosdbActiveInstanceCount); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncInt64MetricDbClientCosmosdbActiveInstanceCount(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter(kMetricDbClientCosmosdbActiveInstanceCount, + descrMetricDbClientCosmosdbActiveInstanceCount, + unitMetricDbClientCosmosdbActiveInstanceCount); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::shared_ptr +CreateAsyncDoubleMetricDbClientCosmosdbActiveInstanceCount(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter(kMetricDbClientCosmosdbActiveInstanceCount, + descrMetricDbClientCosmosdbActiveInstanceCount, + unitMetricDbClientCosmosdbActiveInstanceCount); +} + +/** + * Deprecated, use @code azure.cosmosdb.client.operation.request_charge @endcode instead. + * + * @deprecated + * {"note": "Replaced by @code azure.cosmosdb.client.operation.request_charge @endcode.", "reason": + * "uncategorized"}

histogram + */ +OPENTELEMETRY_DEPRECATED static constexpr const char + *kMetricDbClientCosmosdbOperationRequestCharge = "db.client.cosmosdb.operation.request_charge"; +OPENTELEMETRY_DEPRECATED static constexpr const char + *descrMetricDbClientCosmosdbOperationRequestCharge = + "Deprecated, use `azure.cosmosdb.client.operation.request_charge` instead."; +OPENTELEMETRY_DEPRECATED static constexpr const char + *unitMetricDbClientCosmosdbOperationRequestCharge = "{request_unit}"; + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientCosmosdbOperationRequestCharge(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricDbClientCosmosdbOperationRequestCharge, + descrMetricDbClientCosmosdbOperationRequestCharge, + unitMetricDbClientCosmosdbOperationRequestCharge); +} + +OPENTELEMETRY_DEPRECATED static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientCosmosdbOperationRequestCharge(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricDbClientCosmosdbOperationRequestCharge, + descrMetricDbClientCosmosdbOperationRequestCharge, + unitMetricDbClientCosmosdbOperationRequestCharge); +} + +/** + * Duration of database client operations. + *

+ * Batch operations SHOULD be recorded as a single operation. + *

+ * histogram + */ +static constexpr const char *kMetricDbClientOperationDuration = "db.client.operation.duration"; +static constexpr const char *descrMetricDbClientOperationDuration = + "Duration of database client operations."; +static constexpr const char *unitMetricDbClientOperationDuration = "s"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientOperationDuration(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricDbClientOperationDuration, + descrMetricDbClientOperationDuration, + unitMetricDbClientOperationDuration); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientOperationDuration(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricDbClientOperationDuration, + descrMetricDbClientOperationDuration, + unitMetricDbClientOperationDuration); +} + +/** + * The actual number of records returned by the database operation. + *

+ * histogram + */ +static constexpr const char *kMetricDbClientResponseReturnedRows = + "db.client.response.returned_rows"; +static constexpr const char *descrMetricDbClientResponseReturnedRows = + "The actual number of records returned by the database operation."; +static constexpr const char *unitMetricDbClientResponseReturnedRows = "{row}"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricDbClientResponseReturnedRows(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricDbClientResponseReturnedRows, + descrMetricDbClientResponseReturnedRows, + unitMetricDbClientResponseReturnedRows); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricDbClientResponseReturnedRows(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricDbClientResponseReturnedRows, + descrMetricDbClientResponseReturnedRows, + unitMetricDbClientResponseReturnedRows); +} + +} // namespace db +} // namespace semconv +OPENTELEMETRY_END_NAMESPACE diff --git a/api/include/opentelemetry/semconv/dns_metrics.h b/api/include/opentelemetry/semconv/dns_metrics.h new file mode 100644 index 0000000000..019fea6742 --- /dev/null +++ b/api/include/opentelemetry/semconv/dns_metrics.h @@ -0,0 +1,49 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * DO NOT EDIT, this is an Auto-generated file from: + * buildscripts/semantic-convention/templates/registry/semantic_metrics-h.j2 + */ + +#pragma once + +#include "opentelemetry/common/macros.h" +#include "opentelemetry/metrics/meter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace semconv +{ +namespace dns +{ + +/** + * Measures the time taken to perform a DNS lookup. + *

+ * histogram + */ +static constexpr const char *kMetricDnsLookupDuration = "dns.lookup.duration"; +static constexpr const char *descrMetricDnsLookupDuration = + "Measures the time taken to perform a DNS lookup."; +static constexpr const char *unitMetricDnsLookupDuration = "s"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricDnsLookupDuration(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricDnsLookupDuration, descrMetricDnsLookupDuration, + unitMetricDnsLookupDuration); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricDnsLookupDuration( + metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricDnsLookupDuration, descrMetricDnsLookupDuration, + unitMetricDnsLookupDuration); +} + +} // namespace dns +} // namespace semconv +OPENTELEMETRY_END_NAMESPACE diff --git a/api/include/opentelemetry/semconv/exception_attributes.h b/api/include/opentelemetry/semconv/exception_attributes.h index 980e4525f9..61e94d955b 100644 --- a/api/include/opentelemetry/semconv/exception_attributes.h +++ b/api/include/opentelemetry/semconv/exception_attributes.h @@ -21,10 +21,10 @@ namespace exception /** * Indicates that the exception is escaping the scope of the span. - *

+ * * @deprecated - * It's no longer recommended to record exceptions that are handled and do not escape the scope of a - * span. + * {"note": "It's no longer recommended to record exceptions that are handled and do not escape the + * scope of a span.", "reason": "uncategorized"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kExceptionEscaped = "exception.escaped"; diff --git a/api/include/opentelemetry/semconv/faas_metrics.h b/api/include/opentelemetry/semconv/faas_metrics.h new file mode 100644 index 0000000000..72109d887a --- /dev/null +++ b/api/include/opentelemetry/semconv/faas_metrics.h @@ -0,0 +1,287 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * DO NOT EDIT, this is an Auto-generated file from: + * buildscripts/semantic-convention/templates/registry/semantic_metrics-h.j2 + */ + +#pragma once + +#include "opentelemetry/common/macros.h" +#include "opentelemetry/metrics/meter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace semconv +{ +namespace faas +{ + +/** + * Number of invocation cold starts + *

+ * counter + */ +static constexpr const char *kMetricFaasColdstarts = "faas.coldstarts"; +static constexpr const char *descrMetricFaasColdstarts = "Number of invocation cold starts"; +static constexpr const char *unitMetricFaasColdstarts = "{coldstart}"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricFaasColdstarts( + metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricFaasColdstarts, descrMetricFaasColdstarts, + unitMetricFaasColdstarts); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricFaasColdstarts( + metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricFaasColdstarts, descrMetricFaasColdstarts, + unitMetricFaasColdstarts); +} + +static inline nostd::shared_ptr CreateAsyncInt64MetricFaasColdstarts( + metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricFaasColdstarts, descrMetricFaasColdstarts, + unitMetricFaasColdstarts); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricFaasColdstarts(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricFaasColdstarts, descrMetricFaasColdstarts, + unitMetricFaasColdstarts); +} + +/** + * Distribution of CPU usage per invocation + *

+ * histogram + */ +static constexpr const char *kMetricFaasCpuUsage = "faas.cpu_usage"; +static constexpr const char *descrMetricFaasCpuUsage = "Distribution of CPU usage per invocation"; +static constexpr const char *unitMetricFaasCpuUsage = "s"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricFaasCpuUsage( + metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricFaasCpuUsage, descrMetricFaasCpuUsage, + unitMetricFaasCpuUsage); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricFaasCpuUsage( + metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricFaasCpuUsage, descrMetricFaasCpuUsage, + unitMetricFaasCpuUsage); +} + +/** + * Number of invocation errors + *

+ * counter + */ +static constexpr const char *kMetricFaasErrors = "faas.errors"; +static constexpr const char *descrMetricFaasErrors = "Number of invocation errors"; +static constexpr const char *unitMetricFaasErrors = "{error}"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricFaasErrors( + metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricFaasErrors, descrMetricFaasErrors, unitMetricFaasErrors); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricFaasErrors( + metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricFaasErrors, descrMetricFaasErrors, unitMetricFaasErrors); +} + +static inline nostd::shared_ptr CreateAsyncInt64MetricFaasErrors( + metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricFaasErrors, descrMetricFaasErrors, + unitMetricFaasErrors); +} + +static inline nostd::shared_ptr CreateAsyncDoubleMetricFaasErrors( + metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricFaasErrors, descrMetricFaasErrors, + unitMetricFaasErrors); +} + +/** + * Measures the duration of the function's initialization, such as a cold start + *

+ * histogram + */ +static constexpr const char *kMetricFaasInitDuration = "faas.init_duration"; +static constexpr const char *descrMetricFaasInitDuration = + "Measures the duration of the function's initialization, such as a cold start"; +static constexpr const char *unitMetricFaasInitDuration = "s"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricFaasInitDuration( + metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricFaasInitDuration, descrMetricFaasInitDuration, + unitMetricFaasInitDuration); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricFaasInitDuration( + metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricFaasInitDuration, descrMetricFaasInitDuration, + unitMetricFaasInitDuration); +} + +/** + * Number of successful invocations + *

+ * counter + */ +static constexpr const char *kMetricFaasInvocations = "faas.invocations"; +static constexpr const char *descrMetricFaasInvocations = "Number of successful invocations"; +static constexpr const char *unitMetricFaasInvocations = "{invocation}"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricFaasInvocations( + metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricFaasInvocations, descrMetricFaasInvocations, + unitMetricFaasInvocations); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricFaasInvocations( + metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricFaasInvocations, descrMetricFaasInvocations, + unitMetricFaasInvocations); +} + +static inline nostd::shared_ptr +CreateAsyncInt64MetricFaasInvocations(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricFaasInvocations, descrMetricFaasInvocations, + unitMetricFaasInvocations); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricFaasInvocations(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricFaasInvocations, descrMetricFaasInvocations, + unitMetricFaasInvocations); +} + +/** + * Measures the duration of the function's logic execution + *

+ * histogram + */ +static constexpr const char *kMetricFaasInvokeDuration = "faas.invoke_duration"; +static constexpr const char *descrMetricFaasInvokeDuration = + "Measures the duration of the function's logic execution"; +static constexpr const char *unitMetricFaasInvokeDuration = "s"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricFaasInvokeDuration(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricFaasInvokeDuration, descrMetricFaasInvokeDuration, + unitMetricFaasInvokeDuration); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricFaasInvokeDuration(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricFaasInvokeDuration, descrMetricFaasInvokeDuration, + unitMetricFaasInvokeDuration); +} + +/** + * Distribution of max memory usage per invocation + *

+ * histogram + */ +static constexpr const char *kMetricFaasMemUsage = "faas.mem_usage"; +static constexpr const char *descrMetricFaasMemUsage = + "Distribution of max memory usage per invocation"; +static constexpr const char *unitMetricFaasMemUsage = "By"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricFaasMemUsage( + metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricFaasMemUsage, descrMetricFaasMemUsage, + unitMetricFaasMemUsage); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricFaasMemUsage( + metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricFaasMemUsage, descrMetricFaasMemUsage, + unitMetricFaasMemUsage); +} + +/** + * Distribution of net I/O usage per invocation + *

+ * histogram + */ +static constexpr const char *kMetricFaasNetIo = "faas.net_io"; +static constexpr const char *descrMetricFaasNetIo = "Distribution of net I/O usage per invocation"; +static constexpr const char *unitMetricFaasNetIo = "By"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricFaasNetIo( + metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricFaasNetIo, descrMetricFaasNetIo, unitMetricFaasNetIo); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricFaasNetIo( + metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricFaasNetIo, descrMetricFaasNetIo, unitMetricFaasNetIo); +} + +/** + * Number of invocation timeouts + *

+ * counter + */ +static constexpr const char *kMetricFaasTimeouts = "faas.timeouts"; +static constexpr const char *descrMetricFaasTimeouts = "Number of invocation timeouts"; +static constexpr const char *unitMetricFaasTimeouts = "{timeout}"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricFaasTimeouts( + metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricFaasTimeouts, descrMetricFaasTimeouts, + unitMetricFaasTimeouts); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricFaasTimeouts( + metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricFaasTimeouts, descrMetricFaasTimeouts, + unitMetricFaasTimeouts); +} + +static inline nostd::shared_ptr CreateAsyncInt64MetricFaasTimeouts( + metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricFaasTimeouts, descrMetricFaasTimeouts, + unitMetricFaasTimeouts); +} + +static inline nostd::shared_ptr CreateAsyncDoubleMetricFaasTimeouts( + metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricFaasTimeouts, descrMetricFaasTimeouts, + unitMetricFaasTimeouts); +} + +} // namespace faas +} // namespace semconv +OPENTELEMETRY_END_NAMESPACE diff --git a/api/include/opentelemetry/semconv/gen_ai_metrics.h b/api/include/opentelemetry/semconv/gen_ai_metrics.h new file mode 100644 index 0000000000..437ba4af4a --- /dev/null +++ b/api/include/opentelemetry/semconv/gen_ai_metrics.h @@ -0,0 +1,157 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * DO NOT EDIT, this is an Auto-generated file from: + * buildscripts/semantic-convention/templates/registry/semantic_metrics-h.j2 + */ + +#pragma once + +#include "opentelemetry/common/macros.h" +#include "opentelemetry/metrics/meter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace semconv +{ +namespace gen_ai +{ + +/** + * GenAI operation duration + *

+ * histogram + */ +static constexpr const char *kMetricGenAiClientOperationDuration = + "gen_ai.client.operation.duration"; +static constexpr const char *descrMetricGenAiClientOperationDuration = "GenAI operation duration"; +static constexpr const char *unitMetricGenAiClientOperationDuration = "s"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricGenAiClientOperationDuration(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricGenAiClientOperationDuration, + descrMetricGenAiClientOperationDuration, + unitMetricGenAiClientOperationDuration); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricGenAiClientOperationDuration(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricGenAiClientOperationDuration, + descrMetricGenAiClientOperationDuration, + unitMetricGenAiClientOperationDuration); +} + +/** + * Measures number of input and output tokens used + *

+ * histogram + */ +static constexpr const char *kMetricGenAiClientTokenUsage = "gen_ai.client.token.usage"; +static constexpr const char *descrMetricGenAiClientTokenUsage = + "Measures number of input and output tokens used"; +static constexpr const char *unitMetricGenAiClientTokenUsage = "{token}"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricGenAiClientTokenUsage(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricGenAiClientTokenUsage, + descrMetricGenAiClientTokenUsage, + unitMetricGenAiClientTokenUsage); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricGenAiClientTokenUsage(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricGenAiClientTokenUsage, + descrMetricGenAiClientTokenUsage, + unitMetricGenAiClientTokenUsage); +} + +/** + * Generative AI server request duration such as time-to-last byte or last output token + *

+ * histogram + */ +static constexpr const char *kMetricGenAiServerRequestDuration = "gen_ai.server.request.duration"; +static constexpr const char *descrMetricGenAiServerRequestDuration = + "Generative AI server request duration such as time-to-last byte or last output token"; +static constexpr const char *unitMetricGenAiServerRequestDuration = "s"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricGenAiServerRequestDuration(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricGenAiServerRequestDuration, + descrMetricGenAiServerRequestDuration, + unitMetricGenAiServerRequestDuration); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricGenAiServerRequestDuration(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricGenAiServerRequestDuration, + descrMetricGenAiServerRequestDuration, + unitMetricGenAiServerRequestDuration); +} + +/** + * Time per output token generated after the first token for successful responses + *

+ * histogram + */ +static constexpr const char *kMetricGenAiServerTimePerOutputToken = + "gen_ai.server.time_per_output_token"; +static constexpr const char *descrMetricGenAiServerTimePerOutputToken = + "Time per output token generated after the first token for successful responses"; +static constexpr const char *unitMetricGenAiServerTimePerOutputToken = "s"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricGenAiServerTimePerOutputToken(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricGenAiServerTimePerOutputToken, + descrMetricGenAiServerTimePerOutputToken, + unitMetricGenAiServerTimePerOutputToken); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricGenAiServerTimePerOutputToken(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricGenAiServerTimePerOutputToken, + descrMetricGenAiServerTimePerOutputToken, + unitMetricGenAiServerTimePerOutputToken); +} + +/** + * Time to generate first token for successful responses + *

+ * histogram + */ +static constexpr const char *kMetricGenAiServerTimeToFirstToken = + "gen_ai.server.time_to_first_token"; +static constexpr const char *descrMetricGenAiServerTimeToFirstToken = + "Time to generate first token for successful responses"; +static constexpr const char *unitMetricGenAiServerTimeToFirstToken = "s"; + +static inline nostd::unique_ptr> +CreateSyncInt64MetricGenAiServerTimeToFirstToken(metrics::Meter *meter) +{ + return meter->CreateUInt64Histogram(kMetricGenAiServerTimeToFirstToken, + descrMetricGenAiServerTimeToFirstToken, + unitMetricGenAiServerTimeToFirstToken); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricGenAiServerTimeToFirstToken(metrics::Meter *meter) +{ + return meter->CreateDoubleHistogram(kMetricGenAiServerTimeToFirstToken, + descrMetricGenAiServerTimeToFirstToken, + unitMetricGenAiServerTimeToFirstToken); +} + +} // namespace gen_ai +} // namespace semconv +OPENTELEMETRY_END_NAMESPACE diff --git a/api/include/opentelemetry/semconv/hw_metrics.h b/api/include/opentelemetry/semconv/hw_metrics.h new file mode 100644 index 0000000000..225b939e8c --- /dev/null +++ b/api/include/opentelemetry/semconv/hw_metrics.h @@ -0,0 +1,344 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +/* + * DO NOT EDIT, this is an Auto-generated file from: + * buildscripts/semantic-convention/templates/registry/semantic_metrics-h.j2 + */ + +#pragma once + +#include "opentelemetry/common/macros.h" +#include "opentelemetry/metrics/meter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace semconv +{ +namespace hw +{ + +/** + * Energy consumed by the component + *

+ * counter + */ +static constexpr const char *kMetricHwEnergy = "hw.energy"; +static constexpr const char *descrMetricHwEnergy = "Energy consumed by the component"; +static constexpr const char *unitMetricHwEnergy = "J"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricHwEnergy( + metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricHwEnergy, descrMetricHwEnergy, unitMetricHwEnergy); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricHwEnergy( + metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricHwEnergy, descrMetricHwEnergy, unitMetricHwEnergy); +} + +static inline nostd::shared_ptr CreateAsyncInt64MetricHwEnergy( + metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricHwEnergy, descrMetricHwEnergy, + unitMetricHwEnergy); +} + +static inline nostd::shared_ptr CreateAsyncDoubleMetricHwEnergy( + metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricHwEnergy, descrMetricHwEnergy, + unitMetricHwEnergy); +} + +/** + * Number of errors encountered by the component + *

+ * counter + */ +static constexpr const char *kMetricHwErrors = "hw.errors"; +static constexpr const char *descrMetricHwErrors = "Number of errors encountered by the component"; +static constexpr const char *unitMetricHwErrors = "{error}"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricHwErrors( + metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricHwErrors, descrMetricHwErrors, unitMetricHwErrors); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricHwErrors( + metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricHwErrors, descrMetricHwErrors, unitMetricHwErrors); +} + +static inline nostd::shared_ptr CreateAsyncInt64MetricHwErrors( + metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricHwErrors, descrMetricHwErrors, + unitMetricHwErrors); +} + +static inline nostd::shared_ptr CreateAsyncDoubleMetricHwErrors( + metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricHwErrors, descrMetricHwErrors, + unitMetricHwErrors); +} + +/** + * Ambient (external) temperature of the physical host + *

+ * gauge + */ +static constexpr const char *kMetricHwHostAmbientTemperature = "hw.host.ambient_temperature"; +static constexpr const char *descrMetricHwHostAmbientTemperature = + "Ambient (external) temperature of the physical host"; +static constexpr const char *unitMetricHwHostAmbientTemperature = "Cel"; + +#if OPENTELEMETRY_ABI_VERSION_NO >= 2 + +static inline nostd::unique_ptr> +CreateSyncInt64MetricHwHostAmbientTemperature(metrics::Meter *meter) +{ + return meter->CreateInt64Gauge(kMetricHwHostAmbientTemperature, + descrMetricHwHostAmbientTemperature, + unitMetricHwHostAmbientTemperature); +} + +static inline nostd::unique_ptr> +CreateSyncDoubleMetricHwHostAmbientTemperature(metrics::Meter *meter) +{ + return meter->CreateDoubleGauge(kMetricHwHostAmbientTemperature, + descrMetricHwHostAmbientTemperature, + unitMetricHwHostAmbientTemperature); +} +#endif /* OPENTELEMETRY_ABI_VERSION_NO */ + +static inline nostd::shared_ptr +CreateAsyncInt64MetricHwHostAmbientTemperature(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableGauge(kMetricHwHostAmbientTemperature, + descrMetricHwHostAmbientTemperature, + unitMetricHwHostAmbientTemperature); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricHwHostAmbientTemperature(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableGauge(kMetricHwHostAmbientTemperature, + descrMetricHwHostAmbientTemperature, + unitMetricHwHostAmbientTemperature); +} + +/** + * Total energy consumed by the entire physical host, in joules + *

+ * The overall energy usage of a host MUST be reported using the specific @code hw.host.energy + * @endcode and @code hw.host.power @endcode metrics only, instead of the generic + * @code hw.energy @endcode and @code hw.power @endcode described in the previous section, to + * prevent summing up overlapping values.

counter + */ +static constexpr const char *kMetricHwHostEnergy = "hw.host.energy"; +static constexpr const char *descrMetricHwHostEnergy = + "Total energy consumed by the entire physical host, in joules"; +static constexpr const char *unitMetricHwHostEnergy = "J"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricHwHostEnergy( + metrics::Meter *meter) +{ + return meter->CreateUInt64Counter(kMetricHwHostEnergy, descrMetricHwHostEnergy, + unitMetricHwHostEnergy); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricHwHostEnergy( + metrics::Meter *meter) +{ + return meter->CreateDoubleCounter(kMetricHwHostEnergy, descrMetricHwHostEnergy, + unitMetricHwHostEnergy); +} + +static inline nostd::shared_ptr CreateAsyncInt64MetricHwHostEnergy( + metrics::Meter *meter) +{ + return meter->CreateInt64ObservableCounter(kMetricHwHostEnergy, descrMetricHwHostEnergy, + unitMetricHwHostEnergy); +} + +static inline nostd::shared_ptr CreateAsyncDoubleMetricHwHostEnergy( + metrics::Meter *meter) +{ + return meter->CreateDoubleObservableCounter(kMetricHwHostEnergy, descrMetricHwHostEnergy, + unitMetricHwHostEnergy); +} + +/** + * By how many degrees Celsius the temperature of the physical host can be increased, before + * reaching a warning threshold on one of the internal sensors

gauge + */ +static constexpr const char *kMetricHwHostHeatingMargin = "hw.host.heating_margin"; +static constexpr const char *descrMetricHwHostHeatingMargin = + "By how many degrees Celsius the temperature of the physical host can be increased, before reaching a warning threshold on one of the internal sensors + "; + static constexpr const char *unitMetricHwHostHeatingMargin = "Cel"; + +#if OPENTELEMETRY_ABI_VERSION_NO >= 2 + +static inline nostd::unique_ptr> CreateSyncInt64MetricHwHostHeatingMargin( + metrics::Meter *meter) +{ + return meter->CreateInt64Gauge(kMetricHwHostHeatingMargin, descrMetricHwHostHeatingMargin, + unitMetricHwHostHeatingMargin); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricHwHostHeatingMargin( + metrics::Meter *meter) +{ + return meter->CreateDoubleGauge(kMetricHwHostHeatingMargin, descrMetricHwHostHeatingMargin, + unitMetricHwHostHeatingMargin); +} +#endif /* OPENTELEMETRY_ABI_VERSION_NO */ + +static inline nostd::shared_ptr +CreateAsyncInt64MetricHwHostHeatingMargin(metrics::Meter *meter) +{ + return meter->CreateInt64ObservableGauge( + kMetricHwHostHeatingMargin, descrMetricHwHostHeatingMargin, unitMetricHwHostHeatingMargin); +} + +static inline nostd::shared_ptr +CreateAsyncDoubleMetricHwHostHeatingMargin(metrics::Meter *meter) +{ + return meter->CreateDoubleObservableGauge( + kMetricHwHostHeatingMargin, descrMetricHwHostHeatingMargin, unitMetricHwHostHeatingMargin); +} + +/** + * Instantaneous power consumed by the entire physical host in Watts (@code hw.host.energy @endcode + * is preferred)

The overall energy usage of a host MUST be reported using the specific @code + * hw.host.energy @endcode and @code hw.host.power @endcode metrics only, instead + * of the generic @code hw.energy @endcode and @code hw.power @endcode described in the previous + * section, to prevent summing up overlapping values.

gauge + */ +static constexpr const char *kMetricHwHostPower = "hw.host.power"; +static constexpr const char *descrMetricHwHostPower = + "Instantaneous power consumed by the entire physical host in Watts (`hw.host.energy` is preferred) + "; + static constexpr const char *unitMetricHwHostPower = "W"; + +#if OPENTELEMETRY_ABI_VERSION_NO >= 2 + +static inline nostd::unique_ptr> CreateSyncInt64MetricHwHostPower( + metrics::Meter *meter) +{ + return meter->CreateInt64Gauge(kMetricHwHostPower, descrMetricHwHostPower, unitMetricHwHostPower); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricHwHostPower( + metrics::Meter *meter) +{ + return meter->CreateDoubleGauge(kMetricHwHostPower, descrMetricHwHostPower, + unitMetricHwHostPower); +} +#endif /* OPENTELEMETRY_ABI_VERSION_NO */ + +static inline nostd::shared_ptr CreateAsyncInt64MetricHwHostPower( + metrics::Meter *meter) +{ + return meter->CreateInt64ObservableGauge(kMetricHwHostPower, descrMetricHwHostPower, + unitMetricHwHostPower); +} + +static inline nostd::shared_ptr CreateAsyncDoubleMetricHwHostPower( + metrics::Meter *meter) +{ + return meter->CreateDoubleObservableGauge(kMetricHwHostPower, descrMetricHwHostPower, + unitMetricHwHostPower); +} + +/** + * Instantaneous power consumed by the component + *

+ * It is recommended to report @code hw.energy @endcode instead of @code hw.power @endcode when + * possible.

gauge + */ +static constexpr const char *kMetricHwPower = "hw.power"; +static constexpr const char *descrMetricHwPower = "Instantaneous power consumed by the component"; +static constexpr const char *unitMetricHwPower = "W"; + +#if OPENTELEMETRY_ABI_VERSION_NO >= 2 + +static inline nostd::unique_ptr> CreateSyncInt64MetricHwPower( + metrics::Meter *meter) +{ + return meter->CreateInt64Gauge(kMetricHwPower, descrMetricHwPower, unitMetricHwPower); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricHwPower( + metrics::Meter *meter) +{ + return meter->CreateDoubleGauge(kMetricHwPower, descrMetricHwPower, unitMetricHwPower); +} +#endif /* OPENTELEMETRY_ABI_VERSION_NO */ + +static inline nostd::shared_ptr CreateAsyncInt64MetricHwPower( + metrics::Meter *meter) +{ + return meter->CreateInt64ObservableGauge(kMetricHwPower, descrMetricHwPower, unitMetricHwPower); +} + +static inline nostd::shared_ptr CreateAsyncDoubleMetricHwPower( + metrics::Meter *meter) +{ + return meter->CreateDoubleObservableGauge(kMetricHwPower, descrMetricHwPower, unitMetricHwPower); +} + +/** + * Operational status: @code 1 @endcode (true) or @code 0 @endcode (false) for each of the possible + * states

+ * @code hw.status @endcode is currently specified as an UpDownCounter but would ideally be + * represented using a StateSet + * as defined in OpenMetrics. This semantic convention will be updated once StateSet is + * specified in OpenTelemetry. This planned change is not expected to have any consequence on the + * way users query their timeseries backend to retrieve the values of @code hw.status @endcode over + * time.

updowncounter + */ +static constexpr const char *kMetricHwStatus = "hw.status"; +static constexpr const char *descrMetricHwStatus = + "Operational status: `1` (true) or `0` (false) for each of the possible states"; +static constexpr const char *unitMetricHwStatus = "1"; + +static inline nostd::unique_ptr> CreateSyncInt64MetricHwStatus( + metrics::Meter *meter) +{ + return meter->CreateInt64UpDownCounter(kMetricHwStatus, descrMetricHwStatus, unitMetricHwStatus); +} + +static inline nostd::unique_ptr> CreateSyncDoubleMetricHwStatus( + metrics::Meter *meter) +{ + return meter->CreateDoubleUpDownCounter(kMetricHwStatus, descrMetricHwStatus, unitMetricHwStatus); +} + +static inline nostd::shared_ptr CreateAsyncInt64MetricHwStatus( + metrics::Meter *meter) +{ + return meter->CreateInt64ObservableUpDownCounter(kMetricHwStatus, descrMetricHwStatus, + unitMetricHwStatus); +} + +static inline nostd::shared_ptr CreateAsyncDoubleMetricHwStatus( + metrics::Meter *meter) +{ + return meter->CreateDoubleObservableUpDownCounter(kMetricHwStatus, descrMetricHwStatus, + unitMetricHwStatus); +} + +} // namespace hw +} // namespace semconv +OPENTELEMETRY_END_NAMESPACE diff --git a/api/include/opentelemetry/semconv/incubating/cicd_attributes.h b/api/include/opentelemetry/semconv/incubating/cicd_attributes.h index d6c3ee6aba..7014d45980 100644 --- a/api/include/opentelemetry/semconv/incubating/cicd_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/cicd_attributes.h @@ -39,6 +39,12 @@ static constexpr const char *kCicdPipelineRunId = "cicd.pipeline.run.id"; */ static constexpr const char *kCicdPipelineRunState = "cicd.pipeline.run.state"; +/** + * The URL of the pipeline run, providing the complete + * address in order to locate and identify the pipeline run. + */ +static constexpr const char *kCicdPipelineRunUrlFull = "cicd.pipeline.run.url.full"; + /** * The human readable name of a task within a pipeline. Task here most closely aligns with a computing process in a pipeline. Other @@ -52,8 +58,8 @@ static constexpr const char *kCicdPipelineTaskName = "cicd.pipeline.task.name"; static constexpr const char *kCicdPipelineTaskRunId = "cicd.pipeline.task.run.id"; /** - * The URL of the pipeline run providing the complete - * address in order to locate and identify the pipeline run. + * The URL of the pipeline task run, providing the + * complete address in order to locate and identify the pipeline task run. */ static constexpr const char *kCicdPipelineTaskRunUrlFull = "cicd.pipeline.task.run.url.full"; diff --git a/api/include/opentelemetry/semconv/incubating/cloud_attributes.h b/api/include/opentelemetry/semconv/incubating/cloud_attributes.h index 00f58969d6..f0b4d6da07 100644 --- a/api/include/opentelemetry/semconv/incubating/cloud_attributes.h +++ b/api/include/opentelemetry/semconv/incubating/cloud_attributes.h @@ -59,13 +59,12 @@ static constexpr const char *kCloudRegion = "cloud.region"; * Cloud provider-specific native identifier of the monitored cloud resource (e.g. an ARN on AWS, * a fully qualified - * resource ID on Azure, a full resource - * name on GCP)

On some cloud providers, it may not be possible to determine the full ID at - * startup, so it may be necessary to set @code cloud.resource_id @endcode as a span attribute - * instead.

The exact value to use for @code cloud.resource_id @endcode depends on the cloud - * provider. The following well-known definitions MUST be used if you set this attribute and they - * apply: