ZeroTierOne/ext/opentelemetry-cpp-1.21.0/buildscripts/semantic-convention/templates/registry/weaver.yaml
2025-07-11 10:37:21 -07:00

156 lines
4.4 KiB
YAML

# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0
# This file is the main file for weaver,
# used to generate semantic conventions,
# for opentelemetry-cpp.
#
# For doc on weaver:
# https://github.com/open-telemetry/weaver
#
# For doc on the semantic conventions:
# https://github.com/open-telemetry/semantic-conventions
#
params:
# excluded namespaces will not be generated
excluded_namespaces: [ios, aspnetcore, signalr, android, dotnet, jvm, kestrel, v8js, veightjs, go, nodejs]
# excluded attributes will be commented out in the generated code
# this behavior is fully controlled by jinja templates
excluded_attributes: ["messaging.client_id"]
stable_package_name: opentelemetry.semconv
# "https://opentelemetry.io/schemas/<SEMCONV_VERSION_TAG>"
# this is provided from the command line
schema_url: ""
templates:
- pattern: schema_url-h.j2
filter: .
application_mode: single
- pattern: semantic_attributes-h.j2
filter: >
semconv_grouped_attributes({
"exclude_root_namespace": $excluded_namespaces,
"stable_only": if $filter == "stable" then true else false end,
})
| map({
root_namespace: .root_namespace,
attributes: .attributes,
output: $output,
stable_package_name: $stable_package_name + ".attributes",
filter: $filter,
excluded_attributes: $excluded_attributes[]
})
application_mode: each
- pattern: semantic_metrics-h.j2
filter: >
semconv_grouped_metrics({
"exclude_root_namespace": $excluded_namespaces,
"stable_only": if $filter == "stable" then true else false end,
})
| map({
root_namespace: .root_namespace,
metrics: .metrics,
output: $output,
stable_package_name: $stable_package_name + ".metrics",
filter: $filter
})
application_mode: each
text_maps:
cpp_types:
int: int
double: double
boolean: bool
string: const char *
string[]: const char *[]
template[string]: const char *
template[string[]]: const char *[]
# Minimum ABI_VERSION to support the feature:
# 0 - not supported
# 1 - supported in all versions
# 2 - supported in ABI_VERSION >= 2
cpp_sync_min_abi_version:
counter: 1
histogram: 1
updowncounter: 1
gauge: 2
cpp_sync_instrument_to_int64_type:
counter: metrics::Counter<uint64_t>
histogram: metrics::Histogram<uint64_t>
updowncounter: metrics::UpDownCounter<int64_t>
gauge: metrics::Gauge<int64_t>
cpp_sync_instrument_to_double_type:
counter: metrics::Counter<double>
histogram: metrics::Histogram<double>
updowncounter: metrics::UpDownCounter<double>
gauge: metrics::Gauge<double>
cpp_sync_instrument_to_int64_factory:
counter: CreateUInt64Counter
histogram: CreateUInt64Histogram
updowncounter: CreateInt64UpDownCounter
gauge: CreateInt64Gauge
cpp_sync_instrument_to_double_factory:
counter: CreateDoubleCounter
histogram: CreateDoubleHistogram
updowncounter: CreateDoubleUpDownCounter
gauge: CreateDoubleGauge
# Minimum ABI_VERSION to support the feature:
# 0 - not supported
# 1 - supported in all versions
# 2 - supported in ABI_VERSION >= 2
cpp_async_min_abi_version:
counter: 1
histogram: 0
updowncounter: 1
gauge: 1
cpp_async_instrument_to_type:
counter: metrics::ObservableInstrument
histogram: UNSUPPORTED
updowncounter: metrics::ObservableInstrument
gauge: metrics::ObservableInstrument
cpp_async_instrument_to_int64_factory:
counter: CreateInt64ObservableCounter
histogram: UNSUPPORTED
updowncounter: CreateInt64ObservableUpDownCounter
gauge: CreateInt64ObservableGauge
cpp_async_instrument_to_double_factory:
counter: CreateDoubleObservableCounter
histogram: UNSUPPORTED
updowncounter: CreateDoubleObservableUpDownCounter
gauge: CreateDoubleObservableGauge
comment_formats:
cpp:
format: html
header: "/**"
prefix: " "
footer: " */"
indent_type: Space
trim: true
remove_trailing_dots: false
enforce_trailing_dots: false
old_style_paragraph: true
omit_closing_li: false
inline_code_snippet: "@code {{code}} @endcode"
block_code_snippet: "@verbatim {{code}} @endverbatim"
default_comment_format: cpp
whitespace_control:
trim_blocks: true
lstrip_blocks: true
keep_trailing_newline: true