/* * 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