{"id":13651889,"url":"https://github.com/ubikingenierie/ulp-observability-plugin","last_synced_at":"2025-04-23T02:31:46.002Z","repository":{"id":71041799,"uuid":"462312421","full_name":"ubikingenierie/ulp-observability-plugin","owner":"ubikingenierie","description":"UbikLoadPack observability plugin: Monitor your Apache JMeter performance test from your browser","archived":false,"fork":false,"pushed_at":"2023-10-13T13:11:32.000Z","size":2942,"stargazers_count":5,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2024-05-07T18:13:39.088Z","etag":null,"topics":["jmeter","metrics","monitoring","observability","openmetrics","performance-testing","prometheus"],"latest_commit_sha":null,"homepage":"https://www.ubik-ingenierie.com/blog/monitor-jmeter-test-from-browser/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ubikingenierie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-02-22T13:35:10.000Z","updated_at":"2023-09-15T00:01:58.000Z","dependencies_parsed_at":"2024-01-03T05:39:22.116Z","dependency_job_id":"b9968c6d-5e25-46de-af77-f8052da533c5","html_url":"https://github.com/ubikingenierie/ulp-observability-plugin","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubikingenierie%2Fulp-observability-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubikingenierie%2Fulp-observability-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubikingenierie%2Fulp-observability-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ubikingenierie%2Fulp-observability-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ubikingenierie","download_url":"https://codeload.github.com/ubikingenierie/ulp-observability-plugin/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250357669,"owners_count":21417325,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jmeter","metrics","monitoring","observability","openmetrics","performance-testing","prometheus"],"created_at":"2024-08-02T02:00:53.223Z","updated_at":"2025-04-23T02:31:45.625Z","avatar_url":"https://github.com/ubikingenierie.png","language":"HTML","funding_links":[],"categories":["Results Processing"],"sub_categories":["Reporting \u0026 Visualization"],"readme":"# UbikLoadPack Observability Plugin for JMeter\n\n[UbikLoadPack](https://UbikLoadPack.com) observability plugin is a **Free** and **Open-Source** plugin for [Apache JMeter](https://jmeter.apache.org) which allows you to monitor a Non GUI/Cli performance test (Standalone or distributed) from your favority browser.\n\nIt also exposes an Open Metrics endpoint so that OpenMetrics compatible tools like Prometheus can scrape it and make metrics of your performance test available in these tools.\n\nIt is easily installable through [JMeter-Plugins manager](\u003chttps://jmeter-plugins.org/?search=observability\u003e):\n\n```\n ./PluginsManagerCMD.sh install ulp-observability-plugin\n```\n\nSee in this [blog](https://www.ubik-ingenierie.com/blog/update-jmeter-plugins-in-ci-cd-pipeline/) the pre-requisites to install any plugin this way.\n\n## Metrics displayed:\n\n- Name of the Sampler used for the load test\n- Number of requests\n- % Error\n- Average time\n- Percentiles 1 (aggregate_rpt_pct1 property)\n- Percentiles 2 (aggregate_rpt_pct2 property)\n- Percentiles 3 (aggregate_rpt_pct3 property)\n- Max time\n- Throughput in req/s\n\n## JMeter Plugin configuration\n\n[Blog showing installation procedure](https://www.ubik-ingenierie.com/blog/ubik-load-pack-observability-plugin/)\n\n### Screenshots\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=screenshot/ulp_observability1.png\u003e\u003cbr/\u003e\n\u003cem\u003eObservability Listener JMeter Control Panel\u003c/em\u003e \n\u003cbr/\u003e\n\n### Logs by the plugin in console\n\n\u003cbr/\u003e\n\u003cimg src=screenshot/ulp_observability2.png\u003e\u003cbr/\u003e\n\u003cem\u003eExample of metrics summary in non-graphical mode\u003c/em\u003e\n\u003cbr/\u003e\n\n### Browser view\n\n#### Screenshots\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=screenshot/ulp_observability3.png\u003e\u003cbr/\u003e\n\u003cem\u003eExample of a metric chart\u003c/em\u003e \u003cbr /\u003e\n\u003c/p\u003e\n\n- Left y-axis: metric of each group of samples\n- Right y-axis: cumulative number of threads in each group of samples\n- Graphs currently implemented for: average response, maximum response, percentiles, error percentage and throughput\n\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=screenshot/ulp_observability4.png\u003e\u003cbr/\u003e\n\u003cem\u003eExample summary of total metrics\u003c/em\u003e \u003cbr /\u003e\n\u003c/p\u003e\n\n\n## Connecting the plugin to Prometheus\n\n![Legende](screenshot/Prometheus.png)\n\n### Blog\n\n[Blog showing how to connect Prometheus to plugin](https://www.ubik-ingenierie.com/blog/ubik-load-pack-observability-plugin-connect-the-plugin-to-prometheus/)\n\n### Install Prometheus\n\n- If you haven't installed prometheus on your device yet, \n[Download the latest release of Prometheus](https://prometheus.io/download/) for your platform, then extract it.\n- If you use Windows, add the extracted directory to the PATH env variable.\n- If you use Linux, add it to the $PATH variable. Add it to the .bashrc file to make it permanent.\n\n### Configure Prometheus\n\nInside the directory of your JMeter test plan, add the following prometheus.yml file :\n\n```yml\nglobal:\n  scrape_interval:     15s # By default, scrape targets every 15 seconds.\n\n  # Attach these labels to any time series or alerts when communicating with\n  # external systems (federation, remote storage, Alertmanager).\n  external_labels:\n    monitor: 'codelab-monitor'\n\n# A Configuration containing Observability plugin endpoint to scrape:\n\nscrape_configs:\n  - job_name: 'observability-plugin'\n    scrape_interval: 5s\n    metrics_path: /ulp-o-metrics\n\n    static_configs:\n      - targets: ['localhost:9090']\n```\n\nChange 'localhost:9090' above to match the host:port where plugin is running and listening.\n\n### Endpoint content exposed by the plugin\n\n\u003cbr/\u003e\n\u003cimg src=screenshot/ulp_observability5.png\u003e\u003cbr/\u003e\n\u003cem\u003eSample response from Jetty server for sample metrics in OpenMetrics format\u003c/em\u003e\n\u003c/p\u003e\n\n\n### Launch Prometheus\n\n- cd to the test plan directory\n- then enter this command to start using prometheus (on port 9095, change it with the one you prefer) :\n\n```bash\nprometheus  --web.enable-admin-api   --web.listen-address=:9095 --config.file=prometheus.yml\n```\n\n- You can then access Prometheus from this [url](http://localhost:9095/graph\u003e)\n\n### Roadmap\n\nSee [our repository issues](https://github.com/ubikingenierie/ulp-observability-plugin/issues?q=is%3Aopen+is%3Aissue+milestone%3A1.0.0)\n\n### Want to contribute\n\nRead our [Contributor documentation](contributor-jumpstart.md)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fubikingenierie%2Fulp-observability-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fubikingenierie%2Fulp-observability-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fubikingenierie%2Fulp-observability-plugin/lists"}