Say I write a C++/Python application and I want to monitor things like batch processing time, etc. Are there open source libraries that I can integrate into my application? I want to be able to consume these metrics and display them on a webpage/etc. I would be running this on a UNIX machine and would like to be able to go to a page via localhost and see the metrics evolve over time.
Yeah, there are gratis open source software for both real-time and batch plotting of code metrics. They are:
Graphite does two things:
- Store numeric time-series data
- Render graphs of this data on demand
What Graphite does not do is collect data for you, however there are some tools out there that know how to send data to graphite. Even though it often requires a little code, sending data to Graphite is very simple.
re:dash was built to allow fast and easy access to billions of records, that we process and collect using Amazon Redshift (“petabyte scale data warehouse” that “speaks” PostgreSQL). Today re:dash has support for querying multiple databases, including: Redshift, Google BigQuery,Google Spreadsheets, PostgreSQL, MySQL, Graphite and custom scripts.
In fact, you can display the metrics and dashboards using D3 + (any python MVC framework like Django, Flask, etc)