Skip to content

Commit

Permalink
Move runtime semconv to its own folder (#371)
Browse files Browse the repository at this point in the history
  • Loading branch information
joaopgrassi committed Oct 9, 2023
1 parent 4efa49f commit 559bf8b
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 26 deletions.
2 changes: 1 addition & 1 deletion docs/general/metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ The following semantic conventions surrounding metrics are defined:
* [System](/docs/system/system-metrics.md): For standard system metrics.
* [Hardware](/docs/system/hardware-metrics.md): For hardware-related metrics.
* [Process](/docs/system/process-metrics.md): For standard process metrics.
* [Runtime Environment](/docs/system/runtime-environment-metrics.md): For runtime environment metrics.
* [Runtime Environment](/docs/runtime/README.md#metrics): For runtime environment metrics.

Apart from semantic conventions for metrics, [traces](trace.md), [logs](logs.md), and [events](events.md), OpenTelemetry also
defines the concept of overarching [Resources](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.22.0/specification/resource/sdk.md) with
Expand Down
Original file line number Diff line number Diff line change
@@ -1,28 +1,24 @@
<!--- Hugo front matter used to generate the website version of this page:
linkTitle: Runtime Environment
linkTitle: Semantic Conventions for Runtime Environment

This comment has been minimized.

Copy link
@chalin

chalin Oct 19, 2023

Contributor

@joaopgrassi - Why was the prefix "Semantic Conventions for" added to the linkTitle here?

This comment has been minimized.

Copy link
@chalin

chalin Oct 19, 2023

Contributor

(For some context: linkTitle fields are meant to be short, context specific titles, and so they generally don't have the "Semantic Conventions for" prefix.)

This comment has been minimized.

Copy link
@joaopgrassi

joaopgrassi Oct 19, 2023

Author Member

I added because all the ones I looked also have it, like HTTP, Databases, RPC and etc.

This comment has been minimized.

Copy link
@chalin

chalin Oct 19, 2023

Contributor

Hmm, no: are you looking at the page title or the linkTitle field? E.g., HTTP has linkTitle: HTTP.

This comment has been minimized.

Copy link
@joaopgrassi

joaopgrassi Oct 19, 2023

Author Member

ah I'm sorry I looked at the page title. I'll send a quick PR to fix it 👍

This comment has been minimized.

Copy link
@joaopgrassi

joaopgrassi Oct 19, 2023

Author Member

There. #428

This comment has been minimized.

Copy link
@chalin

chalin Oct 19, 2023

Contributor

Great, thanks!

--->

# Semantic Conventions for Runtime Environment Metrics
# Semantic Conventions for Runtime Environment

**Status**: [Experimental][DocumentStatus]

This document includes semantic conventions for runtime environment level
metrics in OpenTelemetry. Also consider the [general
metric](/docs/general/metrics.md#general-metric-semantic-conventions), [system
metrics](system-metrics.md) and [OS Process metrics](process-metrics.md)
semantic conventions when instrumenting runtime environments.
This document defines semantic conventions for
runtime environment spans, metrics and logs.

<!-- Re-generate TOC with `markdown-toc --no-first-h1 -i` -->

<!-- toc -->

- [Metric Instruments](#metric-instruments)
* [Runtime Environment Specific Metrics - `process.runtime.{environment}.`](#runtime-environment-specific-metrics---processruntimeenvironment)
- [Attributes](#attributes)
- [Metrics](#metrics)
* [Attributes](#attributes)

<!-- tocstop -->

## Metric Instruments
## Metrics

Runtime environments vary widely in their terminology, implementation, and
relative values for a given metric. For example, Go and Python are both
Expand All @@ -32,26 +28,30 @@ does not propose any standard top-level runtime metric instruments. See [OTEP
108](https://github.com/open-telemetry/oteps/pull/108/files) for additional
discussion.

### Runtime Environment Specific Metrics - `process.runtime.{environment}.`

Metrics specific to a certain runtime environment should be prefixed with
`process.runtime.{environment}.` and follow the semantic conventions outlined in
[general metric semantic
conventions](/docs/general/metrics.md#general-metric-semantic-conventions). Authors of
runtime instrumentations are responsible for the choice of `{environment}` to
avoid ambiguity when interpreting a metric's name or values.
the runtime's top-level namespace `{environment}.*`, e.g., `jvm.*` and follow the
[general metric semantic convention guidelines](/docs/general/metrics.md#general-metric-semantic-conventions).

Authors of runtime instrumentations are responsible for the choice of
`{environment}` to avoid ambiguity when interpreting a metric's name or values.

For example, some programming languages have multiple runtime environments
that vary significantly in their implementation, like [Python which has many
implementations](https://wiki.python.org/moin/PythonImplementations). For
such languages, consider using specific `{environment}` prefixes to avoid
ambiguity, like `process.runtime.cpython.` and `process.runtime.pypy.`.
ambiguity, like `cpython.*` and `pypy.*`.

Also consider the
[general metrics](/docs/general/metrics.md#general-metric-semantic-conventions),
[system metrics](/docs/system/system-metrics.md) and
[OS process metrics](/docs/system/process-metrics.md)
semantic conventions when instrumenting runtime environments.

There are other dimensions even within a given runtime environment to
consider, for example pthreads vs green thread implementations.
- [JVM](jvm-metrics.md)

## Attributes
### Attributes

[`process.runtime`](/docs/resource/process.md#process-runtimes) resource attributes SHOULD be included on runtime metric events as appropriate.
[`process.runtime`](/docs/resource/process.md#process-runtimes)
resource attributes SHOULD be included on runtime metric events as appropriate.

[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.22.0/specification/document-status.md
File renamed without changes.
2 changes: 1 addition & 1 deletion docs/system/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ System semantic conventions are defined for the following metrics:
* [System](system-metrics.md): For standard system metrics.
* [Hardware](hardware-metrics.md): For hardware-related metrics.
* [Process](process-metrics.md): For standard process metrics.
* [Runtime Environment](runtime-environment-metrics.md): For runtime environment metrics.
* [Runtime Environment](/docs/runtime/README.md#metrics): For runtime environment metrics.

[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.22.0/specification/document-status.md
2 changes: 1 addition & 1 deletion docs/system/process-metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ instruments not explicitly defined in this document. OS process metrics are
not related to the runtime environment of the program, and should take
measurements from the operating system. For runtime environment metrics see
[semantic conventions for runtime environment
metrics](runtime-environment-metrics.md).
metrics](/docs/runtime/README.md#metrics).

<!-- Re-generate TOC with `markdown-toc --no-first-h1 -i` -->

Expand Down

0 comments on commit 559bf8b

Please sign in to comment.