Skip to content

Commit 53d3ac8

Browse files
committed
Adds an option to render briefs and notes of semconv / attributes groups in markdown
Signed-off-by: Alexander Wert <[email protected]>
1 parent 370e8f4 commit 53d3ac8

File tree

4 files changed

+40
-1
lines changed

4 files changed

+40
-1
lines changed

semantic-conventions/src/opentelemetry/semconv/templating/markdown/__init__.py

+16
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ def __init__(self):
4646
self.is_remove_constraint = False
4747
self.is_metric_table = False
4848
self.is_omit_requirement_level = False
49+
self.is_render_group_brief = False
50+
self.is_render_group_note = False
4951
self.group_key = ""
5052
self.enums = []
5153
self.notes = []
@@ -77,6 +79,8 @@ class MarkdownRenderer:
7779
"remove_constraints",
7880
"metric_table",
7981
"omit_requirement_level",
82+
"render_group_brief",
83+
"render_group_note",
8084
]
8185

8286
prelude = "<!-- semconv {} -->\n"
@@ -206,6 +210,12 @@ def write_table_header(self, output: io.StringIO):
206210
def to_markdown_attribute_table(
207211
self, semconv: BaseSemanticConvention, output: io.StringIO
208212
):
213+
if self.render_ctx.is_render_group_brief:
214+
output.write(semconv.brief + "\n\n")
215+
216+
if self.render_ctx.is_render_group_note:
217+
output.write(semconv.note + "\n\n")
218+
209219
attr_to_print = []
210220
for attr in semconv.attributes_and_templates:
211221
if self.render_ctx.group_key is not None:
@@ -518,6 +528,12 @@ def _render_group(self, semconv, parameters, output):
518528
self.render_ctx.is_omit_requirement_level = (
519529
"omit_requirement_level" in parameters
520530
)
531+
self.render_ctx.is_render_group_brief = (
532+
"render_group_brief" in parameters
533+
)
534+
self.render_ctx.is_render_group_note = (
535+
"render_group_note" in parameters
536+
)
521537

522538
if self.render_ctx.is_metric_table:
523539
self.to_markdown_metric_table(semconv, output)

semantic-conventions/src/tests/data/markdown/attribute_group/attribute_group.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ groups:
22
- id: attributes
33
prefix: "foo"
44
type: attribute_group
5-
brief: Attribute group
5+
brief: Attribute group brief.
66
attributes:
77
- id: bar
88
type: string
@@ -16,6 +16,7 @@ groups:
1616
extends: attributes
1717
prefix: "foo"
1818
brief: Derived attribute group
19+
note: This is a groupt note.
1920
attributes:
2021
- id: qux
2122
type: int

semantic-conventions/src/tests/data/markdown/attribute_group/expected.md

+16
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,19 @@
66
| `foo.bar` | string | Attribute 1 | `baz` | Recommended: if available |
77
| `foo.qux` | int | Attribute 2 | `42` | Conditionally Required: if available |
88
<!-- endsemconv -->
9+
10+
<!-- semconv attributes(render_group_brief) -->
11+
Attribute group brief.
12+
13+
| Attribute | Type | Description | Examples | Requirement Level |
14+
|---|---|---|---|---|
15+
| `foo.bar` | string | Attribute 1 | `baz` | Recommended: if available |
16+
<!-- endsemconv -->
17+
18+
<!-- semconv derived_attributes(render_group_note) -->
19+
This is a groupt note.
20+
21+
| Attribute | Type | Description | Examples | Requirement Level |
22+
|---|---|---|---|---|
23+
| `foo.qux` | int | Attribute 2 | `42` | Conditionally Required: if available |
24+
<!-- endsemconv -->

semantic-conventions/src/tests/data/markdown/attribute_group/input.md

+6
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,9 @@
22

33
<!-- semconv span_attribute_group -->
44
<!-- endsemconv -->
5+
6+
<!-- semconv attributes(render_group_brief) -->
7+
<!-- endsemconv -->
8+
9+
<!-- semconv derived_attributes(render_group_note) -->
10+
<!-- endsemconv -->

0 commit comments

Comments
 (0)