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