flagon-useralejs icon indicating copy to clipboard operation
flagon-useralejs copied to clipboard

Feature(schema): Enforce log structure

Open EandrewJones opened this issue 1 year ago • 2 comments

Problem

Inconsistencies in the schema across versions and between logTypes (interval vs raw) can cause challenges for downstream development/interaction with the logs in both TAP and Distill.

Proposal

Maintain a versioned, default schema that we enforce for all standard log types. Pure custom logs would be the exception. This will guarantee the existence of a core set of key-value pairs in the logs for downstream consumers.

Options:

  • JSON schema enforced purely on the UserALE side
  • Protobuf/Avro schema that stands apart from the UserALE lib and/or can be shared across all Flagon projects (think Confluent's schema registry)

Risks

  • JSON schema is easier but doesn't provide the universal guarantees and type-checking of something like Protobuf/Avro.
  • Protobuf/Avro is likely more complicated to implement in a maintainable way across all Flagon repos. Need to research best options.

EandrewJones avatar May 07 '24 14:05 EandrewJones

is the issue closed or open ?

Suvendu-UI avatar Jul 08 '24 02:07 Suvendu-UI

This issue is still open.

EandrewJones avatar Jul 08 '24 14:07 EandrewJones