{"id":19108175,"url":"https://github.com/perfana/test-events-springboot","last_synced_at":"2025-09-13T21:49:19.079Z","repository":{"id":54606721,"uuid":"452743567","full_name":"perfana/test-events-springboot","owner":"perfana","description":"Fire test events for springboot. Talks to actuator metrics and actions.","archived":false,"fork":false,"pushed_at":"2024-05-15T12:26:33.000Z","size":98,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-22T10:41:52.947Z","etag":null,"topics":[],"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/perfana.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,"publiccode":null,"codemeta":null}},"created_at":"2022-01-27T15:46:41.000Z","updated_at":"2024-05-15T12:26:37.000Z","dependencies_parsed_at":"2024-05-16T01:43:45.305Z","dependency_job_id":"6b86cdd4-be86-4b52-9b74-4b17d6ee721d","html_url":"https://github.com/perfana/test-events-springboot","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/perfana/test-events-springboot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfana%2Ftest-events-springboot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfana%2Ftest-events-springboot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfana%2Ftest-events-springboot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfana%2Ftest-events-springboot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perfana","download_url":"https://codeload.github.com/perfana/test-events-springboot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perfana%2Ftest-events-springboot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259901382,"owners_count":22929224,"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":[],"created_at":"2024-11-09T04:15:22.216Z","updated_at":"2025-06-15T00:07:16.278Z","avatar_url":"https://github.com/perfana.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# test-events-springboot\nFire test events for Spring Boot. Talks to actuator metrics and actions.\n\n## Actuator client\n\nThere is an\nactuator client that calls an actuator/env endpoint and turns properties\ninto variables in an event-scheduler message. The variables in a message\nare picked up by the perfana-java-client and are sent to Perfana for the\ncurrent test run.\n\n* `tags` comma separated list of tags send along with the properties\n* `actuatorBaseUrl` the base url for the actuator endpoint, `/env` will be added\n* `actuatorEnvProperties` comma seperated list of actuator env properties to turn into variables\n* `actuatorPropPrefix` (DEPRECATED, use tags instead) prefix for the properties to send as variables\n\nTip: check your http://application/actuator/env to see what is available.\n\nNote: env needs to be enabled in actuator. Be careful though to not expose this endpoint on the internet!\n\n```xml\n\u003ceventConfig implementation=\"io.perfana.events.springboot.event.SpringBootEventConfig\"\u003e\n    \u003cname\u003eActuatorEvent\u003c/name\u003e\n    \u003ctags\u003emy-app\u003c/tags\u003e\n    \u003cactuatorBaseUrl\u003ehttp://my-app:8080/actuator\u003c/actuatorBaseUrl\u003e\n    \u003cactuatorEnvProperties\u003ejava.runtime.version,JDK_JAVA_OPTIONS\u003c/actuatorEnvProperties\u003e\n\u003c/eventConfig\u003e\n\n```\n\n## Events\n\nThis events plugin reacts to the following custom events:\n* `heapdump` - calls actuator heap dump endpoint and saves it to `dumpPath` (defaults to `java.io.tmpdir`)\n* `threaddump` - calls actuator thread dump endpoint and saves it to `dumpPath` (defaults to `java.io.tmpdir`)\n\nIn the example below, there are two heap dump requests (5 and 60 seconds into the test run) and two stack dump requests (10 and 15 seconds into the test run).\n\nThe names of the dumps include the test run id and a time stamp.\n\nIn the test start event, it collects settings from actuator env endpoint, and broadcasts this to\nother plugins. For instance, if you use the Perfana Java client plugin as well, this information\nis automatically send to Perfana. The values are then stored with the current test run.\n\n## Example config\n\nUse one of the Perfana maven plugins (`event-scheduler-maven-plugin`, `events-gatling-maven-plugin`, `events-jmeter-maven-plugin`, ...) and hook-up this `test-events-springboot` via a sub-dependency:\n\n```xml\n\u003cplugins\u003e\n    \u003cplugin\u003e\n        \u003cgroupId\u003eio.perfana\u003c/groupId\u003e\n        \u003cartifactId\u003eevent-scheduler-maven-plugin\u003c/artifactId\u003e\n        \u003cconfiguration\u003e\n            \u003ceventSchedulerConfig\u003e\n                \u003cdebugEnabled\u003etrue\u003c/debugEnabled\u003e\n                \u003cschedulerEnabled\u003etrue\u003c/schedulerEnabled\u003e\n                \u003cfailOnError\u003etrue\u003c/failOnError\u003e\n                \u003ccontinueOnEventCheckFailure\u003etrue\u003c/continueOnEventCheckFailure\u003e\n                \u003ceventScheduleScript\u003e\n                    PT5S|heapdump\n                    PT10S|threaddump\n                    PT15S|threaddump\n                    PT1M|heapdump\n                \u003c/eventScheduleScript\u003e\n                \u003ctestConfig\u003e\n                    \u003csystemUnderTest\u003e${systemUnderTest}\u003c/systemUnderTest\u003e\n                    \u003cversion\u003e${version}\u003c/version\u003e\n                    \u003cworkload\u003e${workload}\u003c/workload\u003e\n                    \u003ctestEnvironment\u003e${testEnvironment}\u003c/testEnvironment\u003e\n                    \u003ctestRunId\u003e${testRunId}\u003c/testRunId\u003e\n                    \u003cbuildResultsUrl\u003e${buildResultsUrl}\u003c/buildResultsUrl\u003e\n                    \u003crampupTimeInSeconds\u003e${rampupTimeInSeconds}\u003c/rampupTimeInSeconds\u003e\n                    \u003cconstantLoadTimeInSeconds\u003e${constantLoadTimeInSeconds}\u003c/constantLoadTimeInSeconds\u003e\n                    \u003cannotations\u003e${annotations}\u003c/annotations\u003e\n                    \u003ctags\u003e${tags}\u003c/tags\u003e\n                \u003c/testConfig\u003e\n                \u003ceventConfigs\u003e\n                    \u003ceventConfig implementation=\"io.perfana.events.springboot.event.SpringBootEventConfig\"\u003e\n                        \u003cname\u003eSpringBootEventFrontend\u003c/name\u003e\n                        \u003ctags\u003eoptimus-prime-fe,beta\u003c/tags\u003e\n                        \u003cactuatorBaseUrl\u003ehttp://optimus-prime-fe:8080/actuator\u003c/actuatorBaseUrl\u003e\n                        \u003cactuatorEnvProperties\u003ejava.runtime.version,JDK_JAVA_OPTIONS,afterburner.async_core_pool_size\u003c/actuatorEnvProperties\u003e\n                        \u003cdumpPath\u003e/test-data/dump-files/fontend/\u003c/dumpPath\u003e\n                    \u003c/eventConfig\u003e\n                    \u003ceventConfig implementation=\"io.perfana.events.springboot.event.SpringBootEventConfig\"\u003e\n                        \u003cname\u003eSpringBootEventBackend\u003c/name\u003e\n                        \u003ctags\u003eoptimus-prime-be,beta\u003c/tags\u003e\n                        \u003cactuatorBaseUrl\u003ehttp://optimus-prime-be:8080/actuator\u003c/actuatorBaseUrl\u003e\n                        \u003cactuatorEnvProperties\u003ejava.runtime.version,JDK_JAVA_OPTIONS,afterburner.async_core_pool_size\u003c/actuatorEnvProperties\u003e\n                        \u003cdumpPath\u003e/test-data/dump-files/backend/\u003c/dumpPath\u003e\n                    \u003c/eventConfig\u003e\n                \u003c/eventConfigs\u003e\n            \u003c/eventSchedulerConfig\u003e\n        \u003c/configuration\u003e\n        \u003cdependencies\u003e\n            \u003cdependency\u003e\n                \u003cgroupId\u003eio.perfana\u003c/groupId\u003e\n                \u003cartifactId\u003etest-events-springboot\u003c/artifactId\u003e\n                \u003cversion\u003e${test-events-springboot.version}\u003c/version\u003e\n            \u003c/dependency\u003e\n            \u003cdependency\u003e\n                \u003cgroupId\u003eio.perfana\u003c/groupId\u003e\n                \u003cartifactId\u003eperfana-java-client\u003c/artifactId\u003e\n                \u003cversion\u003e${perfana-java-client.version}\u003c/version\u003e\n            \u003c/dependency\u003e\n        \u003c/dependencies\u003e\n    \u003c/plugin\u003e\n\u003c/plugins\u003e\n```\n\nSee also:\n* https://github.com/perfana/event-scheduler-maven-plugin\n* https://github.com/perfana/events-jmeter-maven-plugin\n* https://github.com/perfana/events-gatling-maven-plugin\n* https://github.com/perfana/event-scheduler\n* https://github.com/perfana/perfana-java-client\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperfana%2Ftest-events-springboot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fperfana%2Ftest-events-springboot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperfana%2Ftest-events-springboot/lists"}