Skip to content

Commit

Permalink
added metrics (draft)
Browse files Browse the repository at this point in the history
  • Loading branch information
marcalff committed Oct 19, 2024
1 parent 88c22c8 commit c427131
Show file tree
Hide file tree
Showing 13 changed files with 3,318 additions and 105 deletions.
78 changes: 78 additions & 0 deletions api/include/opentelemetry/semconv/http_metrics.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
/*
* 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/version.h"

OPENTELEMETRY_BEGIN_NAMESPACE
namespace semconv
{
namespace http
{

/**
* Duration of HTTP client requests.
* <p>
* histogram
*/
static constexpr const char *kMetricHttpClientRequestDuration =
"metric.http.client.request.duration";
static constexpr const char *descrMetricHttpClientRequestDuration =
"Duration of HTTP client requests.";
static constexpr const char *unitMetricHttpClientRequestDuration = "s";

static nostd::unique_ptr<metrics::Histogram<uint64_t>> CreateSyncMetricHttpClientRequestDuration(
metrics::Meter *meter)
{
return meter->CreateUInt64Histogram(kMetricHttpClientRequestDuration,
descrMetricHttpClientRequestDuration,
unitMetricHttpClientRequestDuration);
}

static nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncMetricHttpClientRequestDuration(
metrics::Meter *meter)
{
return meter->CreateInt64ObservableHistogram(kMetricHttpClientRequestDuration,
descrMetricHttpClientRequestDuration,
unitMetricHttpClientRequestDuration);
}

/**
* Duration of HTTP server requests.
* <p>
* histogram
*/
static constexpr const char *kMetricHttpServerRequestDuration =
"metric.http.server.request.duration";
static constexpr const char *descrMetricHttpServerRequestDuration =
"Duration of HTTP server requests.";
static constexpr const char *unitMetricHttpServerRequestDuration = "s";

static nostd::unique_ptr<metrics::Histogram<uint64_t>> CreateSyncMetricHttpServerRequestDuration(
metrics::Meter *meter)
{
return meter->CreateUInt64Histogram(kMetricHttpServerRequestDuration,
descrMetricHttpServerRequestDuration,
unitMetricHttpServerRequestDuration);
}

static nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncMetricHttpServerRequestDuration(
metrics::Meter *meter)
{
return meter->CreateInt64ObservableHistogram(kMetricHttpServerRequestDuration,
descrMetricHttpServerRequestDuration,
unitMetricHttpServerRequestDuration);
}

} // namespace http
} // namespace semconv
OPENTELEMETRY_END_NAMESPACE
124 changes: 124 additions & 0 deletions api/include/opentelemetry/semconv/incubating/container_metrics.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
/*
* 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/version.h"

OPENTELEMETRY_BEGIN_NAMESPACE
namespace semconv
{
namespace container
{

/**
* Total CPU time consumed
* <p>
* Total CPU time consumed by the specific container on all available CPU cores
* <p>
* counter
*/
static constexpr const char *kMetricContainerCpuTime = "metric.container.cpu.time";
static constexpr const char *descrMetricContainerCpuTime = "Total CPU time consumed";
static constexpr const char *unitMetricContainerCpuTime = "s";

static nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncMetricContainerCpuTime(
metrics::Meter *meter)
{
return meter->CreateUInt64Counter(kMetricContainerCpuTime, descrMetricContainerCpuTime,
unitMetricContainerCpuTime);
}

static nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncMetricContainerCpuTime(
metrics::Meter *meter)
{
return meter->CreateInt64ObservableCounter(kMetricContainerCpuTime, descrMetricContainerCpuTime,
unitMetricContainerCpuTime);
}

/**
* Disk bytes for the container.
* <p>
* The total number of bytes read/written successfully (aggregated from all disks).
* <p>
* counter
*/
static constexpr const char *kMetricContainerDiskIo = "metric.container.disk.io";
static constexpr const char *descrMetricContainerDiskIo = "Disk bytes for the container.";
static constexpr const char *unitMetricContainerDiskIo = "By";

static nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncMetricContainerDiskIo(
metrics::Meter *meter)
{
return meter->CreateUInt64Counter(kMetricContainerDiskIo, descrMetricContainerDiskIo,
unitMetricContainerDiskIo);
}

static nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncMetricContainerDiskIo(
metrics::Meter *meter)
{
return meter->CreateInt64ObservableCounter(kMetricContainerDiskIo, descrMetricContainerDiskIo,
unitMetricContainerDiskIo);
}

/**
* Memory usage of the container.
* <p>
* Memory usage of the container.
* <p>
* counter
*/
static constexpr const char *kMetricContainerMemoryUsage = "metric.container.memory.usage";
static constexpr const char *descrMetricContainerMemoryUsage = "Memory usage of the container.";
static constexpr const char *unitMetricContainerMemoryUsage = "By";

static nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncMetricContainerMemoryUsage(
metrics::Meter *meter)
{
return meter->CreateUInt64Counter(kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage,
unitMetricContainerMemoryUsage);
}

static nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncMetricContainerMemoryUsage(
metrics::Meter *meter)
{
return meter->CreateInt64ObservableCounter(
kMetricContainerMemoryUsage, descrMetricContainerMemoryUsage, unitMetricContainerMemoryUsage);
}

/**
* Network bytes for the container.
* <p>
* The number of bytes sent/received on all network interfaces by the container.
* <p>
* counter
*/
static constexpr const char *kMetricContainerNetworkIo = "metric.container.network.io";
static constexpr const char *descrMetricContainerNetworkIo = "Network bytes for the container.";
static constexpr const char *unitMetricContainerNetworkIo = "By";

static nostd::unique_ptr<metrics::Counter<uint64_t>> CreateSyncMetricContainerNetworkIo(
metrics::Meter *meter)
{
return meter->CreateUInt64Counter(kMetricContainerNetworkIo, descrMetricContainerNetworkIo,
unitMetricContainerNetworkIo);
}

static nostd::shared_ptr<metrics::ObservableInstrument> CreateAsyncMetricContainerNetworkIo(
metrics::Meter *meter)
{
return meter->CreateInt64ObservableCounter(
kMetricContainerNetworkIo, descrMetricContainerNetworkIo, unitMetricContainerNetworkIo);
}

} // namespace container
} // namespace semconv
OPENTELEMETRY_END_NAMESPACE
Loading

0 comments on commit c427131

Please sign in to comment.