Custom metrics per process group

With today’s release of flyctl v0.1.93, it’s now possible to specify a separate custom metrics configuration per process group on V2 apps. This makes it easier to collect custom metrics across a set of process groups that export custom metrics on different ports.

The new syntax is similar to mounts per process group: you can now add an additional [[metrics]] section (note the double brackets for an array of tables), each with a processes key to specify the process-group mapping:

[processes]
  web = "bin/rails fly:server"
  cron = "supercronic /app/crontab"

[[metrics]]
  port = 9394
  path = "/metrics"
  processes = ["web"]

[[metrics]]
  port = 9746
  path = "/metrics"
  processes = ["cron"]

I know some of you have asked about this feature previously. Hope this addition is helpful!

6 Likes

Nice!

Can we get metrics over self-signed HTTPS next?

Apparently this was a breaking change. @wjordan IMO, the default should be all processes so that it it is backwards compatible. I had no metrics from one of my two processes for a week.

2 Likes

Hi @robpc, thanks for reporting this and sorry for the unexpected behavior.

I’ll make sure it’s consistent with the other per-process configurations ([[files]], [[mounts]] and [[services]]), but I think your suggestion of defaulting to all processes if not specified sounds reasonable.

1 Like