Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Display Ruby VM probe metrics as gauges with a hostname tag #38

Merged
merged 4 commits into from
Jul 28, 2022

Conversation

tombruijn
Copy link
Member

@tombruijn tombruijn commented Jul 28, 2022

Change all Ruby VM dashboard metrics to gauges

We've noticed that distributions are not a good fit for this. For more
PR appsignal/appsignal-ruby#866 on the Ruby gem.

Add hostname to Ruby VM dashboard metrics

The added hostname tag allows us to tell multiple hosts from each other
and graph them separately. If we do not, an app with multiple hosts
would have hosts overwrite one another's metrics. Only the last reported
value would be stored and shown.

Change GC time to duration

I think we're recording time here, so let's display it as time too.

Remove GC time graph for now

It's not reporting any values unless the GC profiler is enabled, which
it isn't by default. I want to avoid confusion by shipping an always
empty graph by default so I'm removing it now.
We can always add it back later.

We've noticed that distributions are not a good fit for this. For more
PR appsignal/appsignal-ruby#866 on the Ruby gem.
The added hostname tag allows us to tell multiple hosts from each other
and graph them separately. If we do not, an app with multiple hosts
would have hosts overwrite one another's metrics. Only the last reported
value would be stored and shown.
I think we're recording time here, so let's display it as time too.
It's not reporting any values unless the GC profiler is enabled, which
it isn't by default. I want to avoid confusion by shipping an always
empty graph by default so I'm removing it now.
We can always add it back later.
@tombruijn tombruijn merged commit 1d96750 into main Jul 28, 2022
@tombruijn tombruijn deleted the ruby-vm-metrics branch July 28, 2022 13:43
tombruijn added a commit that referenced this pull request Aug 4, 2022
Add the Garbage Collection time graph back to the Ruby VM dashboard
after it was added and removed in PR
#38.

This graph will not have any data by default. We need a way to redirect
users to our docs on how to enable this. We also need to write docs for
this, basically saying: Add `GC::Profiler.enable` to your app, but not
in production or not for long in production because it may adversely
impact the performance of your app.

Also, to update existing dashboards, I refer to the dashboard update
issue we should pick up:
appsignal/appsignal-server#4770

Part of appsignal/appsignal-ruby#868
tombruijn added a commit that referenced this pull request Aug 4, 2022
Add the Garbage Collection time graph back to the Ruby VM dashboard
after it was added and removed in PR
#38.

I've updated the metric name to `gc_time` in Ruby gem PR:
appsignal/appsignal-ruby#874

This graph will not have any data by default. We need a way to redirect
users to our docs on how to enable this. We also need to write docs for
this, basically saying: Add `GC::Profiler.enable` to your app, but not
in production or not for long in production because it may adversely
impact the performance of your app.

Also, to update existing dashboards, I refer to the dashboard update
issue we should pick up:
appsignal/appsignal-server#4770

Part of appsignal/appsignal-ruby#868
tombruijn added a commit that referenced this pull request Aug 4, 2022
Add the Garbage Collection time graph back to the Ruby VM dashboard
after it was added and removed in PR
#38.

I've updated the metric name to `gc_time` in Ruby gem PR:
appsignal/appsignal-ruby#874

This graph will not have any data by default. We need a way to redirect
users to our docs on how to enable this. We cannot link to this from the
graph description.

We also need to write docs for this, basically saying: Add
`GC::Profiler.enable` to your app, but not in production or not for long
in production because it may adversely impact the performance of your
app.

Also, to update existing dashboards, I refer to the dashboard update
issue we should pick up:
appsignal/appsignal-server#4770

Part of appsignal/appsignal-ruby#868
tombruijn added a commit that referenced this pull request Aug 5, 2022
Add the Garbage Collection time graph back to the Ruby VM dashboard
after it was added and removed in PR
#38.

I've updated the metric name to `gc_time` in Ruby gem PR because it
doesn't report the total time anymore:
appsignal/appsignal-ruby#874
appsignal/appsignal-ruby#867

This graph will not have any data by default. We need a way to direct
users to our docs on how to enable this. We cannot link to this from the
graph description that I could tell, the graph description does not
support any link format.

We need to write some docs for this, basically saying: Add
`GC::Profiler.enable` to your app, but not in production or not for long
in production because it may negatively impact the performance of your
app.

Also, to update existing dashboards, I refer to the dashboard update
issue we should pick up:
appsignal/appsignal-server#4770

Part of appsignal/appsignal-ruby#868
tombruijn added a commit that referenced this pull request Aug 15, 2022
Add the Garbage Collection time graph back to the Ruby VM dashboard
after it was added and removed in PR
#38.

I've updated the metric name to `gc_time` in Ruby gem PR because it
doesn't report the total time anymore:
appsignal/appsignal-ruby#874
appsignal/appsignal-ruby#867

This graph will not have any data by default. We need a way to direct
users to our docs on how to enable this. We cannot link to this from the
graph description that I could tell, the graph description does not
support any link format.

We need to write some docs for this, basically saying: Add
`GC::Profiler.enable` to your app, but not in production or not for long
in production because it may negatively impact the performance of your
app.

Also, to update existing dashboards, I refer to the dashboard update
issue we should pick up:
appsignal/appsignal-server#4770

Part of appsignal/appsignal-ruby#868
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants