Skip to content

Test application for integration with various SaaS metrics collection services

License

Notifications You must be signed in to change notification settings

jabley/monitoring-spike

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A spike to try to understand what different monitoring options give us.

You almost certainly need something different. Please stop and understand your context.

However, the premise is simple:

A server that speaks HTTP, and talks HTTP to upstream dependencies. As part of doing that, it should capture:

  1. A counter that is incremented for every request received
  2. A counter that is incremented for every successful response
  3. A counter that is incremented for every error response
  4. A histogram of service time for successful responses
  5. A histogram of service time for error responses
  6. A gauge of the number of in-flight requests (this is a nice-to-have. Easier in stateful processes like Python, the JVM, Go etc. )

Dependencies

  • This is written in Go.
  • It uses Make for building things. That might be handy
  • It uses Docker Compose to run the applications
  • vegeta is used for sending a load of traffic to the server – brew install vegeta or similar

Running it

You'll want to run the applications, and throw some traffic at it so that some metrics are created in the system you're playing with.

$ DURATION=30s make report

This will:

  • use Docker to build everything
  • use locally installed vegeta to send some traffic to the applications for 30 seconds
  • print out a report of how the frontend behaved

PS

Look at the branches!

About

Test application for integration with various SaaS metrics collection services

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published