Skip to content

Improve Telemetry Server #2157

@sanzoghenzo

Description

@sanzoghenzo

Is your feature request related to a problem? Please describe

As talked about at the last online meetup, I was proposing to drop the current telemetry server and leverage the OpenTelemetry standard.

However, after a more thorough analysis, OpenTelemetry is overkill for the task, since it encompasses tracing, metrics and logging, but it does so in a slightly convoluted way.

So the alternative is to give the current telemetry implementation some love.

Describe the solution you'd like

  • separate the building of the telemetry server from the other build
  • don't build the server if the code pushed is related to pyRevit (and vice versa)
  • add endpoints to retrieve (and visualize?) the data
  • alternatively/complimentary, provide a grafana and/or Power BI dashboard example to visualize the data
  • add the ability to pass the configuration via environment variables (nice to have because it's more in line with the 12-factor app, but not indispensable)
  • create a (linux) container and push it to a container registry (github own ghcr.io is fine)
  • provide a docker compose example with the telemetry server, mongodb or postgres and grafana in it
  • update the documentation

Describe alternatives you've considered

Use OpenTelemetry, but since the goal is to simply monitor the events and scripts execution, it feels like building a tank to just kill a fly.

Additional context

MongoDB Grafana data source is a plugin for the enterprise version; so defaulting to the good old PostgreSQL would be a better option to build a fully open/free stack.

I can help with most of the things (CI, container and compose), but I'm not (yet) proficient at golang to add the endpoints (and the optional envvar parsing).
Also, since the documentation is in notion, there's no way for a contributor here to edit it.

Metadata

Metadata

Assignees

Labels

New FeatureNew feature request [class->Implemented #{number}: {title}]ODHack14

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions