v1.1.0
This set of changes focuses on removing the observability decorators (declared as wrapping types for a given interface) with elements (for logging, metrics collection, and tracing) within each data structure. These are configured by default with no-ops.
The new strategy removes easily-avoidable pitfalls:
- the added logic to find an inner type within a set of nested interfaces can be nasty, and easily avoidable. This makes it so that wrapping the interfaces is done in the constructor using private types so that the order of the decorators is assured.
- the nested interface types (wrappers on top of wrappers of the same base interface) make it very ugly on a debugging perspective; we need to expand these types to get to the base interface type.
There are no breaking API changes, as the original symbols and signatures are preserved (including the former AddTraces
, AddMetrics
and AddLogs
functions for each type).
What's Changed
- fix(lint): Enable linter configuration and address warnings by @zalgonoise in #6
- fix(lint): Re-add
goerr113
to enabled linters by @zalgonoise in #7 - feat: [schedule] Add schedule builder logic by @zalgonoise in #8
- feat(cron): Join observability types by @zalgonoise in #10
- feat(cron): Join observability types by @zalgonoise in #11
- feat(cron): Join observability types by @zalgonoise in #12
- feat(cron): Join observability types by @zalgonoise in #13
Full Changelog: v1.0.2...v1.1.0