Skip to content
This repository was archived by the owner on Feb 19, 2025. It is now read-only.
This repository was archived by the owner on Feb 19, 2025. It is now read-only.

Feature(schema): Enforce log structure #443

@EandrewJones

Description

@EandrewJones

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions