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

Chrome Processes Never Killed - Increasing Memory Profile #407

Open
Evesy opened this issue Feb 21, 2023 · 1 comment
Open

Chrome Processes Never Killed - Increasing Memory Profile #407

Evesy opened this issue Feb 21, 2023 · 1 comment
Labels
needs more info wontfix This will not be worked on

Comments

@Evesy
Copy link

Evesy commented Feb 21, 2023

What happened: Headless chrome processes spawned by image render plugin are not killed after the image has been rendered. This resulted in memory growth of Grafana every time an image render was requested, eventually resulting in the container running Grafana running out of memory

What you expected to happen: Headless chrome processes should be killed when finished with

How to reproduce it (as minimally and precisely as possible):

  • Launch Grafana instance with image render plugin installed
  • Make requests to a handful of render URLS
  • Observe the running processes, and also the memory profile

image

Above shows the memory profile of our Grafana instance, the jumps in memory directly correlate with bulk numbers of image renders being made.
Jumping into the container there were over 400 chrome processes running

Anything else we need to know?:

Environment:

  • Grafana Image Renderer version: 3.6.4.
  • Grafana version: 9.1.7
  • Installed plugin or remote renderer service: Installed plugin
  • OS Grafana Image Renderer is installed on: grafana/grafana docker image
  • User OS & Browser: n/a
  • Others:
@joanlopez joanlopez added needs more info wontfix This will not be worked on labels Apr 6, 2023
@joanlopez
Copy link
Collaborator

Hi @Evesy,

Thanks for reporting this issue.
I definitely think it would be great to analyze the situation you described, but as the recommended way to run the Image Renderer in production is as a standalone service (either Node or as a Docker container), and we haven't seen any memory leak and/or OOM in such case, thus it looks plugin-specific, we're going to consider this very low priority.

However, this is an open source project, so just feel free to take this as an opportunity to contribute to the project.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs more info wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants