Skip to content

[pkg/ottl] Improve Time converter error messages #35176

Closed
@edmocosta

Description

@edmocosta

Component(s)

pkg/ottl

Is your feature request related to a problem? Please describe.

The Time converter errors messages currently refer to the Go's layout elements instead of the ctime-like substitutes. It might be confusing for users not familiar with the Go layout and/or non-developers.

For example, when converter Time(attributes["time.attribute"], "%B %g %A, %Y, %r") receives the value Invalid 25 Thursday, 1993, 02:03:04 pm , it results into the following error:

parsing time "Invalid 25 Thursday, 1993, 02:03:04 pm" as "January 2 Monday, 2006, 03:04:05 pm": cannot parse "Invalid 25 Thursday, 1993, 02:03:04 pm" as "January"

IMO, there's no clear relation between the Time configured format and the error message details.

Describe the solution you'd like

Considering the ctime-like directives are first citizens for the Time converter format, reflecting those delimiters on the errors message would be helpful for users. For example, the above error message could be changed to something like:

parsing time "Invalid 25 Thursday, 1993, 02:03:04 pm" as "%B %g %A, %Y, %r": cannot parse "Invalid 25 Thursday, 1993, 02:03:04 pm" as "%B"

The Go's time.ParseError does provide all necessary pieces to build the message like that, so the change could be proxying the standard parse functions errors and provide customised messages.

type ParseError struct {
	Layout     string
	Value      string
	LayoutElem string
	ValueElem  string
	Message    string
}

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions