mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2024-12-26 21:05:00 +02:00
6394b029fe
* Adds some basic constants for metrics utilizing a new jinja template * Updates generated comments with more explicit nomenclature; Adds Unit and Description consts for each metric; append 'Name' to metric const instead of 'Key' * Update CHANGELOG * fix overlooked merge conflict * change the types of generated consts to string; format generation to handle empty stability and descriptions * trim trailing (repeated) periods in the description * manual formatting of some proper nouns; simplify the license header * update metrics file with concise generated license header * revert special formatting logic for JVM and ASPNETCore * Update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: Damien Mathieu <42@dmathieu.com> --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> Co-authored-by: Sam Xie <sam@samxie.me> Co-authored-by: Damien Mathieu <42@dmathieu.com> Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
50 lines
1.9 KiB
Django/Jinja
50 lines
1.9 KiB
Django/Jinja
{%- macro to_go_name(fqn) -%}
|
|
{{fqn | replace(".", " ") | replace("_", " ") | title | replace(" ", "")}}
|
|
{%- endmacro -%}
|
|
{%- macro it_reps(brief) -%}
|
|
It represents {% if brief[:2] == "A " or brief[:3] == "An " or brief[:4] == "The " -%}
|
|
{{ brief[0]|lower }}{{ brief[1:] }}
|
|
{%- else -%}
|
|
the {{ brief[0]|lower }}{{ brief[1:] }}
|
|
{%- endif -%}
|
|
{%- endmacro -%}
|
|
{%- macro keydoc(metric) -%}
|
|
{%- if metric.stability|string() == "StabilityLevel.DEPRECATED" or not metric.brief-%}
|
|
{{ to_go_name(metric.metric_name) }} is the metric conforming to the "{{ metric.metric_name}}" semantic conventions.
|
|
{%- else -%}
|
|
{{ to_go_name(metric.metric_name) }} is the metric conforming to the "{{ metric.metric_name}}" semantic conventions. {{ it_reps(metric.brief)|trim(".") }}.
|
|
{%- endif %}
|
|
{%- endmacro -%}
|
|
{%- macro format_stability(stability) -%}
|
|
{%- if not stability -%}
|
|
Experimental
|
|
{%- else -%}
|
|
{{ stability|replace("StabilityLevel.", "")|capitalize() }}
|
|
{%- endif %}
|
|
{%- endmacro -%}
|
|
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
// Code generated from semantic convention specification. DO NOT EDIT.
|
|
|
|
package semconv // import [[IMPORTPATH]]
|
|
|
|
const (
|
|
{% for id in semconvs %}
|
|
{%- if semconvs[id].GROUP_TYPE_NAME == 'metric' %}{% set metric = semconvs[id] %}
|
|
// {{ keydoc(metric) | wordwrap(76, break_long_words=false, break_on_hyphens=false, wrapstring="\n// ") }}
|
|
// Instrument: {{ metric.instrument }}
|
|
// Unit: {{ metric.unit }}
|
|
// Stability: {{ format_stability(metric.stability) }}
|
|
{%- if not metric.brief %}
|
|
// NOTE: The description (brief) for this metric is not defined in the semantic-conventions repository.
|
|
{%- endif %}
|
|
{{to_go_name(metric.metric_name)}}Name = "{{metric.metric_name}}"
|
|
{{to_go_name(metric.metric_name)}}Unit = "{{metric.unit}}"
|
|
{%- if metric.brief %}
|
|
{{to_go_name(metric.metric_name)}}Description = "{{metric.brief}}"
|
|
{%- endif %}
|
|
{%- endif %}
|
|
{% endfor %}
|
|
)
|