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

Remote rendering: Collect and expose Prometheus metrics #71

Merged
merged 2 commits into from
Dec 17, 2019

Conversation

marefr
Copy link
Contributor

@marefr marefr commented Dec 17, 2019

Support enable Prometheus metrics endpoint, exposing Node.js and render request latency (histogram) metrics.
Adds HA-setup and load test to ease load testing current solution, but also prepares for comparing implementation of #66.

Closes #69

HA-setup with load test result:

  • 3 renderer instances
  • running for 15 min and with 10 users
  • limit memory to 500mb and swap to 1gb
> ./run.sh -d 15m -v 10 -u http://grafana.loc

          /\      |‾‾|  /‾‾/  /‾/   
     /\  /  \     |  |_/  /  / /    
    /  \/    \    |      |  /  ‾‾\  
   /          \   |  |\  \ | (_) | 
  / __________ \  |__|  \__\ \___/ .io

  execution: local
     output: -
     script: src/render_test.js

    duration: 15m0s, iterations: -
         vus: 10,    max: 10

    done [==========================================================] 15m0s / 15m0s

    █ render test

      █ user authenticates thru ui with username and password

        ✓ response status is 200

      █ render graph panel

        ✓ response status is 200

    checks.....................: 100.00% ✓ 726  ✗ 0
    data_received..............: 94 MB   104 kB/s
    data_sent..................: 170 kB  188 B/s
    group_duration.............: avg=12.32s  min=78.5ms  med=10.17s max=30.26s  p(90)=22.21s  p(95)=24.46s
    http_req_blocked...........: avg=34.73µs min=2.16µs  med=5.45µs max=4.04ms  p(90)=8.78µs  p(95)=15.34µs
    http_req_connecting........: avg=9.99µs  min=0s      med=0s     max=1.26ms  p(90)=0s      p(95)=0s
    http_req_duration..........: avg=12.32s  min=76.75ms med=10.17s max=30.26s  p(90)=22.21s  p(95)=24.46s
    http_req_receiving.........: avg=2.38ms  min=44.7µs  med=2.35ms max=16.37ms p(90)=4.64ms  p(95)=5.98ms
    http_req_sending...........: avg=51.41µs min=10.48µs med=21.5µs max=4.29ms  p(90)=38.26µs p(95)=72.63µs
    http_req_tls_handshaking...: avg=0s      min=0s      med=0s     max=0s      p(90)=0s      p(95)=0s
    http_req_waiting...........: avg=12.32s  min=76.59ms med=10.17s max=30.24s  p(90)=22.21s  p(95)=24.46s
    http_reqs..................: 726     0.806667/s
    iteration_duration.........: avg=12.31s  min=5.28µs  med=10.17s max=30.26s  p(90)=22.21s  p(95)=24.46s
    iterations.................: 726     0.806667/s
    vus........................: 10      min=10 max=10
    vus_max....................: 10      min=10 max=10

image
image
image

Copy link
Contributor

@DanCech DanCech left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@marefr marefr merged commit 8bc3d5c into master Dec 17, 2019
@marefr marefr deleted the 69_prom_metrics branch December 17, 2019 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remote rendering: Collect and expose Prometheus metrics
2 participants