You've already forked opentelemetry-go
mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-07-03 00:27:03 +02:00
Allow '/' character in instrument names (#4501)
* Allow '/' character in instrument names * Add changelog * Update CHANGELOG.md Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> --------- Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
This commit is contained in:
@ -8,6 +8,10 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Changed
|
||||
|
||||
- Allow '/' characters in metric instrument names. (#4501)
|
||||
|
||||
## [1.18.0/0.41.0/0.0.6] 2023-09-12
|
||||
|
||||
This release drops the compatibility guarantee of [Go 1.19].
|
||||
|
@ -28,7 +28,7 @@ import (
|
||||
|
||||
var (
|
||||
// ErrInstrumentName indicates the created instrument has an invalid name.
|
||||
// Valid names must consist of 255 or fewer characters including alphanumeric, _, ., -, and start with a letter.
|
||||
// Valid names must consist of 255 or fewer characters including alphanumeric, _, ., -, / and start with a letter.
|
||||
ErrInstrumentName = errors.New("invalid instrument name")
|
||||
)
|
||||
|
||||
@ -262,8 +262,8 @@ func validateInstrumentName(name string) error {
|
||||
return nil
|
||||
}
|
||||
for _, c := range name[1:] {
|
||||
if !isAlphanumeric(c) && c != '_' && c != '.' && c != '-' {
|
||||
return fmt.Errorf("%w: %s: must only contain [A-Za-z0-9_.-]", ErrInstrumentName, name)
|
||||
if !isAlphanumeric(c) && c != '_' && c != '.' && c != '-' && c != '/' {
|
||||
return fmt.Errorf("%w: %s: must only contain [A-Za-z0-9_.-/]", ErrInstrumentName, name)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
@ -775,9 +775,12 @@ func TestValidateInstrumentName(t *testing.T) {
|
||||
{
|
||||
name: "nam.",
|
||||
},
|
||||
{
|
||||
name: "nam/e",
|
||||
},
|
||||
{
|
||||
name: "name!",
|
||||
wantErr: fmt.Errorf("%w: name!: must only contain [A-Za-z0-9_.-]", ErrInstrumentName),
|
||||
wantErr: fmt.Errorf("%w: name!: must only contain [A-Za-z0-9_.-/]", ErrInstrumentName),
|
||||
},
|
||||
{
|
||||
name: longName,
|
||||
|
Reference in New Issue
Block a user