Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[chore] Update semconvgen README #305

Merged
merged 6 commits into from
May 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 18 additions & 12 deletions semconvgen/README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,34 @@
# Go Semantic Convention Generator

This tool is designed to generate constants in a semantic convention package for the Go API and the collector.
It may be used by other systems, but it's primary function beyond invoking the template processor is to ensure that
generated identifiers conform to Go's naming idiom, particularly with respect to initialisms and acronyms.
This tool is designed to generate constants in a semantic convention package
for the Go API and the collector.
It may be used by other systems,
but it's primary function beyond invoking the template processor is to ensure
that generated identifiers conform to Go's naming idiom,
particularly with respect to initialisms and acronyms.
Other users may be served just as well by using the template processor directly.

## Installation

```shell
$ go get go.opentelemetry.io/build-tools/semconvgen
go get go.opentelemetry.io/build-tools/semconvgen
```

## Usage

```shell
$ semconvgen -i <path to spec YAML> -t <path to template> -o <path to output>
semconvgen -i <path to spec YAML> -t <path to template> -o <path to output>
```

A full list of available options:

```txt
-c, --container string Container image ID (default "otel/semconvgen")
-f, --filename string Filename for templated output. If not specified 'basename(inputPath).go' will be used.
-i, --input string Path to semantic convention definition YAML. Should be a directory in the specification git repository.
--only string Process only semantic conventions of the specified type. {span, resource, event, metric_group, metric, units, scope, attribute_group}
-o, --output string Path to output target. Must be either an absolute path or relative to the repository root. If unspecified will output to a sub-directory with the name matching the version number specified via --specver flag.
-p, --parameters string List of key=value pairs separated by comma. These values are fed into the template as-is.
-s, --specver string Version of semantic convention to generate. Must be an existing version tag in the specification git repository.
-t, --template string Template filename (default "template.j2")
```
-c, --container string Container image ID (default "otel/semconvgen")
-f, --filename string Filename for templated output. If not specified 'basename(inputPath).go' will be used.
-i, --input string Path to semantic convention definition YAML. Should be a directory in the specification git repository.
-o, --output string Path to output target. Must be either an absolute path or relative to the repository root. If unspecified will output to a sub-directory with the name matching the version number specified via --specver flag.
-s, --specver string Version of semantic convention to generate. Must be an existing version tag in the specification git repository.
-t, --template string Template filename (default "template.j2")
```
2 changes: 1 addition & 1 deletion semconvgen/generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ func main() {

cfg := config{}
flag.StringVarP(&cfg.inputPath, "input", "i", "", "Path to semantic convention definition YAML. Should be a directory in the specification git repository.")
flag.StringVarP(&cfg.onlyType, "only", "", "", "Process only semantic conventions of the specified type. {span,resource,event,metric,units,scope}")
flag.StringVarP(&cfg.onlyType, "only", "", "", "Process only semantic conventions of the specified type. {span, resource, event, metric_group, metric, units, scope, attribute_group}")
flag.StringVarP(&cfg.specVersion, "specver", "s", "", "Version of semantic convention to generate. Must be an existing version tag in the specification git repository.")
flag.StringVarP(&cfg.outputPath, "output", "o", "", "Path to output target. Must be either an absolute path or relative to the repository root. If unspecified will output to a sub-directory with the name matching the version number specified via --specver flag.")
flag.StringVarP(&cfg.containerImage, "container", "c", "otel/semconvgen", "Container image ID")
Expand Down