ZeroTierOne/ext/opentelemetry-cpp-api-only/include/opentelemetry/semconv/incubating/cloudfoundry_attributes.h

133 lines
5.2 KiB
C++

/*
* 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_attributes-h.j2
*/
#pragma once
#include "opentelemetry/common/macros.h"
#include "opentelemetry/version.h"
OPENTELEMETRY_BEGIN_NAMESPACE
namespace semconv
{
namespace cloudfoundry
{
/**
The guid of the application.
<p>
Application instrumentation should use the value from environment
variable @code VCAP_APPLICATION.application_id @endcode. This is the same value as
reported by @code cf app <app-name> --guid @endcode.
*/
static constexpr const char *kCloudfoundryAppId = "cloudfoundry.app.id";
/**
The index of the application instance. 0 when just one instance is active.
<p>
CloudFoundry defines the @code instance_id @endcode in the <a
href="https://github.com/cloudfoundry/loggregator-api#v2-envelope">Loggregator v2 envelope</a>. It
is used for logs and metrics emitted by CloudFoundry. It is supposed to contain the application
instance index for applications deployed on the runtime. <p> Application instrumentation should
use the value from environment variable @code CF_INSTANCE_INDEX @endcode.
*/
static constexpr const char *kCloudfoundryAppInstanceId = "cloudfoundry.app.instance.id";
/**
The name of the application.
<p>
Application instrumentation should use the value from environment
variable @code VCAP_APPLICATION.application_name @endcode. This is the same value
as reported by @code cf apps @endcode.
*/
static constexpr const char *kCloudfoundryAppName = "cloudfoundry.app.name";
/**
The guid of the CloudFoundry org the application is running in.
<p>
Application instrumentation should use the value from environment
variable @code VCAP_APPLICATION.org_id @endcode. This is the same value as
reported by @code cf org <org-name> --guid @endcode.
*/
static constexpr const char *kCloudfoundryOrgId = "cloudfoundry.org.id";
/**
The name of the CloudFoundry organization the app is running in.
<p>
Application instrumentation should use the value from environment
variable @code VCAP_APPLICATION.org_name @endcode. This is the same value as
reported by @code cf orgs @endcode.
*/
static constexpr const char *kCloudfoundryOrgName = "cloudfoundry.org.name";
/**
The UID identifying the process.
<p>
Application instrumentation should use the value from environment
variable @code VCAP_APPLICATION.process_id @endcode. It is supposed to be equal to
@code VCAP_APPLICATION.app_id @endcode for applications deployed to the runtime.
For system components, this could be the actual PID.
*/
static constexpr const char *kCloudfoundryProcessId = "cloudfoundry.process.id";
/**
The type of process.
<p>
CloudFoundry applications can consist of multiple jobs. Usually the
main process will be of type @code web @endcode. There can be additional background
tasks or side-cars with different process types.
*/
static constexpr const char *kCloudfoundryProcessType = "cloudfoundry.process.type";
/**
The guid of the CloudFoundry space the application is running in.
<p>
Application instrumentation should use the value from environment
variable @code VCAP_APPLICATION.space_id @endcode. This is the same value as
reported by @code cf space <space-name> --guid @endcode.
*/
static constexpr const char *kCloudfoundrySpaceId = "cloudfoundry.space.id";
/**
The name of the CloudFoundry space the application is running in.
<p>
Application instrumentation should use the value from environment
variable @code VCAP_APPLICATION.space_name @endcode. This is the same value as
reported by @code cf spaces @endcode.
*/
static constexpr const char *kCloudfoundrySpaceName = "cloudfoundry.space.name";
/**
A guid or another name describing the event source.
<p>
CloudFoundry defines the @code source_id @endcode in the <a
href="https://github.com/cloudfoundry/loggregator-api#v2-envelope">Loggregator v2 envelope</a>. It
is used for logs and metrics emitted by CloudFoundry. It is supposed to contain the component
name, e.g. "gorouter", for CloudFoundry components. <p> When system components are instrumented,
values from the <a href="https://bosh.io/docs/jobs/#properties-spec">Bosh spec</a> should be used.
The @code system.id @endcode should be set to
@code spec.deployment/spec.name @endcode.
*/
static constexpr const char *kCloudfoundrySystemId = "cloudfoundry.system.id";
/**
A guid describing the concrete instance of the event source.
<p>
CloudFoundry defines the @code instance_id @endcode in the <a
href="https://github.com/cloudfoundry/loggregator-api#v2-envelope">Loggregator v2 envelope</a>. It
is used for logs and metrics emitted by CloudFoundry. It is supposed to contain the vm id for
CloudFoundry components. <p> When system components are instrumented, values from the <a
href="https://bosh.io/docs/jobs/#properties-spec">Bosh spec</a> should be used. The @code
system.instance.id @endcode should be set to @code spec.id @endcode.
*/
static constexpr const char *kCloudfoundrySystemInstanceId = "cloudfoundry.system.instance.id";
} // namespace cloudfoundry
} // namespace semconv
OPENTELEMETRY_END_NAMESPACE