roadrunner-server / roadrunner

🤯 High-performance PHP application server, process manager written in Go and powered with plugins
https://docs.roadrunner.dev
MIT License
7.83k stars 407 forks source link

[💡 FEATURE REQUEST]: Statsd support for tagged metrics #1288

Open cv65kr opened 1 year ago

cv65kr commented 1 year ago

Plugin

Metrics

I have an idea!

It is a follow up ticket to https://github.com/temporalio/roadrunner-temporal/issues/265

Would be nice to have support for multiple statsD format. In my case I am looking for Datadog format https://docs.datadoghq.com/developers/dogstatsd/datagram_shell?tab=metrics

cv65kr commented 1 year ago

Hi @rustatian Today I tested and

1st thing which is not working is using environment variables in own tags (visible below)

        tags:
            - env: ${ENVIRONMENT}

2nd. prefix is duplicated - my_name.my_name

my_name.my_name.temporal_activity_poll_no_task.activity_type.none.client_name.temporal_go.env.ENVIRONMENT.namespace.default.task_queue.default.worker_type.none.workflow_type.none

my_name.my_name.temporal_poller_start.activity_type.none.client_name.temporal_go.env.ENVIRONMENT.namespace.default.task_queue.default.worker_type.ActivityWorker.workflow_type.none

my_name.my_name.temporal_poller_start.activity_type.none.client_name.temporal_go.env.ENVIRONMENT.namespace.default.task_queue.default.worker_type.WorkflowWorker.workflow_type.none

3rd that mentioned, metrics tags are combined in names so extremely hard to prepare some dashboards in DD (example above)

rustatian commented 1 year ago

Hey @cv65kr 👋🏻

Thanks for the feedback.

  1. You may edit the description of the issue and add the request to parse env variables.
  2. RR doesn't touch the metrics; it only redirects the configuration to the Tally and Temporal. We are limited atm by that implementation.
  3. Yeah, that'll be implemented somewhere after 2.12.0 (~2 months).
cv65kr commented 1 year ago

@rustatian about point 3 do you have plan for big modification inside RR or Temporal plugin is enough? I can prepare PR for that in RR Temporal plugin

rustatian commented 1 year ago

Nothing special. We have ~30 plugins, you know, everyone wants some improvements and new options 😃 So, If I spend a week per plugin... I would appreciate you if you submit a PR; I'll review it, merge and release it in the next bugfix release (every Thursday if we have fixes/internal improvements).