{"id":22334497,"url":"https://github.com/adambien/perceptor","last_synced_at":"2025-07-29T21:31:15.719Z","repository":{"id":57716632,"uuid":"87225655","full_name":"AdamBien/perceptor","owner":"AdamBien","description":"Java EE Performance Measuring Interceptor","archived":false,"fork":false,"pushed_at":"2017-04-25T20:07:02.000Z","size":37,"stargazers_count":19,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-07-26T21:12:53.656Z","etag":null,"topics":["javaee","metrics","microservices","performance","thinjar"],"latest_commit_sha":null,"homepage":null,"language":"Java","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/AdamBien.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}},"created_at":"2017-04-04T19:16:01.000Z","updated_at":"2023-02-24T12:25:19.000Z","dependencies_parsed_at":"2022-08-24T01:41:11.799Z","dependency_job_id":null,"html_url":"https://github.com/AdamBien/perceptor","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamBien%2Fperceptor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamBien%2Fperceptor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamBien%2Fperceptor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamBien%2Fperceptor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdamBien","download_url":"https://codeload.github.com/AdamBien/perceptor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228046869,"owners_count":17861109,"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":["javaee","metrics","microservices","performance","thinjar"],"created_at":"2024-12-04T05:08:07.854Z","updated_at":"2024-12-04T05:08:08.363Z","avatar_url":"https://github.com/AdamBien.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# perceptor\nJava EE Performance Measuring Interceptor\n\n\n## installation\n\nTo gather statistics without automatically exposing them use the following dependency:\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.airhacks\u003c/groupId\u003e\n    \u003cartifactId\u003eperceptor\u003c/artifactId\u003e\n    \u003cversion\u003e[RECENT]\u003c/version\u003e\n\u003c/dependency\u003e\n```\nThe statistics become available via injection:\n\n```java\nimport com.airhacks.interceptor.monitoring.control.InvocationMonitoring;\n\npublic class MonitoringResource {\n\n    @Inject\n    InvocationMonitoring mes;\n}\n```\n\nThe `perceptor-spy` dependency gathers statistics and exposes them via\nthe `/monitoring/methods` endpoint:\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.airhacks\u003c/groupId\u003e\n    \u003cartifactId\u003eperceptor-spy\u003c/artifactId\u003e\n    \u003cversion\u003e[RECENT]\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## usage\n\n```java\n\nimport com.airhacks.interceptor.monitoring.boundary.PerformanceSensor;\n\n@Interceptors(PerformanceSensor.class)\npublic class Invoker {\n\n\n    public String slow() {}\n\n    public String fast() {}\n\n}\n```\n\n## statistics API\n\nall method invocations:\n\n`curl [THIN_WAR]/resources/monitoring/methods`\n\nall method invocations, sorted by timestamp:\n\n`curl [THIN_WAR]/resources/monitoring/methods/recent`\n\n\nslowest methods:\n\n`curl [THIN_WAR]/resources/monitoring/methods/slowest`\n\nmethods throwing exceptions:\n\n`curl [THIN_WAR]/resources/monitoring/methods/exceptional`\n\nmethods throwing exceptions, sorted by exception amount:\n\n`curl [THIN_WAR]/resources/monitoring/methods/unstable`\n\n\nSee you at [Java EE Performance, Monitoring and Troubleshooting](http://workshops.adam-bien.com/performance.htm) and/or [Java EE Microservices](http://workshops.adam-bien.com/microservices.htm) workshops","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadambien%2Fperceptor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadambien%2Fperceptor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadambien%2Fperceptor/lists"}