Skip to content

Commit

Permalink
fix(parsers.json v2): Correct wrong name of config option (influxdata…
Browse files Browse the repository at this point in the history
  • Loading branch information
deining authored Nov 28, 2023
1 parent 75b9786 commit 25d4a45
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
8 changes: 4 additions & 4 deletions plugins/parsers/json_v2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,10 @@ sections that follow these configuration keys are defined in more detail.
* **measurement_name (OPTIONAL)**: Will set the measurement name to the provided string.
* **measurement_name_path (OPTIONAL)**: You can define a query with [GJSON Path Syntax](https://github.com/tidwall/gjson/blob/v1.7.5/SYNTAX.md) to set a measurement name from the JSON input. The query must return a single data value or it will use the default measurement name. This takes precedence over `measurement_name`.
* **timestamp_path (OPTIONAL)**: You can define a query with [GJSON Path Syntax](https://github.com/tidwall/gjson/blob/v1.7.5/SYNTAX.md) to set a timestamp from the JSON input. The query must return a single data value or it will default to the current time.
* **timestamp_format (OPTIONAL, but REQUIRED when timestamp_query is defined**: Must be set to `unix`, `unix_ms`, `unix_us`, `unix_ns`, or
* **timestamp_format (OPTIONAL, but REQUIRED when timestamp_path is defined**: Must be set to `unix`, `unix_ms`, `unix_us`, `unix_ns`, or
the Go "reference time" which is defined to be the specific time:
`Mon Jan 2 15:04:05 MST 2006`
* **timestamp_timezone (OPTIONAL, but REQUIRES timestamp_query**: This option should be set to a
* **timestamp_timezone (OPTIONAL, but REQUIRES timestamp_path**: This option should be set to a
[Unix TZ value](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones),
such as `America/New_York`, to `Local` to utilize the system timezone, or to `UTC`. Defaults to `UTC`

Expand Down Expand Up @@ -162,10 +162,10 @@ TOML as an array table using double brackets.
*Keys to define what JSON keys should be used as timestamps:*

* **timestamp_key(OPTIONAL)**: You can define a json key (for a nested key, prepend the parent keys with underscores) for the value to be set as the timestamp from the JSON input.
* **timestamp_format (OPTIONAL, but REQUIRED when timestamp_query is defined**: Must be set to `unix`, `unix_ms`, `unix_us`, `unix_ns`, or
* **timestamp_format (OPTIONAL, but REQUIRED when timestamp_key is defined**: Must be set to `unix`, `unix_ms`, `unix_us`, `unix_ns`, or
the Go "reference time" which is defined to be the specific time:
`Mon Jan 2 15:04:05 MST 2006`
* **timestamp_timezone (OPTIONAL, but REQUIRES timestamp_query**: This option should be set to a
* **timestamp_timezone (OPTIONAL, but REQUIRES timestamp_key**: This option should be set to a
[Unix TZ value](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones),
such as `America/New_York`, to `Local` to utilize the system timezone, or to `UTC`. Defaults to `UTC`

Expand Down
6 changes: 3 additions & 3 deletions plugins/parsers/json_v2/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ type Parser struct {
DefaultTags map[string]string `toml:"-"`
Log telegraf.Logger `toml:"-"`

// **** The struct fields bellow this comment are used for processing indvidual configs ****
// **** The struct fields bellow this comment are used for processing individual configs ****

// measurementName is the name of the current config used in each line protocol
measurementName string
Expand Down Expand Up @@ -165,7 +165,7 @@ func (p *Parser) parseCriticalPath(input []byte) ([]telegraf.Metric, error) {
}
if !result.IsArray() && !result.IsObject() {
if c.TimestampFormat == "" {
err := fmt.Errorf("use of 'timestamp_query' requires 'timestamp_format'")
err := fmt.Errorf("use of 'timestamp_path' requires 'timestamp_format'")
return nil, err
}

Expand Down Expand Up @@ -379,7 +379,7 @@ func (p *Parser) expandArray(result MetricNode, timestamp time.Time) ([]telegraf
} else {
if p.objectConfig.TimestampKey != "" && result.SetName == p.objectConfig.TimestampKey {
if p.objectConfig.TimestampFormat == "" {
err := fmt.Errorf("use of 'timestamp_query' requires 'timestamp_format'")
err := fmt.Errorf("use of 'timestamp_key' requires 'timestamp_format'")
return nil, err
}
var loc *time.Location
Expand Down

0 comments on commit 25d4a45

Please sign in to comment.