run_tests_prom.sh 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/bin/bash
  2. function assert_prom_no_response() {
  3. wget --quiet --output-document=/dev/null --tries=1 "$1"
  4. status="$?"
  5. if [ "$status" -eq 0 ]; then
  6. echo FAIL
  7. exit 1
  8. else
  9. echo OK
  10. fi
  11. }
  12. function assert_prom_response() {
  13. # Match something that looks like the expected body
  14. wget --quiet --output-document=- --tries=1 "$1" | grep 'TYPE\|HELP\|counter\|gauge' >/dev/null
  15. status="$?"
  16. if [ "$status" -eq 0 ]; then
  17. echo OK
  18. else
  19. echo FAIL
  20. exit "$status"
  21. fi
  22. }
  23. echo "Running without prometheus"
  24. ../bin/turnserver &
  25. turnserver_pid="$!"
  26. sleep 2
  27. assert_prom_no_response "http://localhost:9641/metrics"
  28. kill "$turnserver_pid"
  29. echo "Running turnserver with prometheus, using defaults"
  30. ../bin/turnserver --prometheus &
  31. turnserver_pid="$!"
  32. sleep 2
  33. assert_prom_response "http://localhost:9641/metrics"
  34. kill "$turnserver_pid"
  35. echo "Running turnserver with prometheus, using custom address"
  36. ../bin/turnserver --prometheus --prometheus-address="127.0.0.1" &
  37. turnserver_pid="$!"
  38. sleep 2
  39. assert_prom_response "http://127.0.0.1:9641/metrics"
  40. kill "$turnserver_pid"
  41. echo "Running turnserver with prometheus, using custom port"
  42. ../bin/turnserver --prometheus --prometheus-port="8080" &
  43. turnserver_pid="$!"
  44. sleep 2
  45. assert_prom_response "http://localhost:8080/metrics"
  46. kill "$turnserver_pid"
  47. echo "Running turnserver with prometheus, using custom address and port"
  48. ../bin/turnserver --prometheus --prometheus-address="127.0.0.1" --prometheus-port="8080" &
  49. turnserver_pid="$!"
  50. sleep 2
  51. assert_prom_response "http://127.0.0.1:8080/metrics"
  52. kill "$turnserver_pid"