A service needs performance analysis. The pipeline instruments the service for the specified profile type, collects samples for the configured duration, analyzes hotspots in the sample data, and generates optimization recommendations.
prf_instrument ──> prf_collect_profile ──> prf_analyze_hotspots ──> prf_recommend
Workflow performance_profiling_430 accepts serviceName, profilingDuration, and profileType. Times out after 60 seconds.
PrfInstrumentWorker (prf_instrument) -- instruments the service for the specified profile type.
CollectProfileWorker (prf_collect_profile) -- collects profile data for the configured duration.
AnalyzeHotspotsWorker (prf_analyze_hotspots) -- analyzes the collected samples for hotspots.
RecommendWorker (prf_recommend) -- generates optimization recommendations based on the hotspot count.
The workflow produces sampleCount, hotspotCount, topHotspot, recommendationCount, reportUrl as output parameters, capturing the result of each pipeline stage for downstream consumers and observability.
This example contains 4 worker implementations in src/main/java/*/workers/, the workflow definition in src/main/resources/workflow.json, and integration tests in src/test/. The workflow performance_profiling_430 defines 4 tasks with input parameters serviceName, profilingDuration, profileType and a timeout of 60 seconds.
Schema version 2, workflow version 1. Owner: examples@orkes.io.
2 tests verify instrumentation, profile collection, hotspot analysis, and recommendation generation.
See RUNNING.md for setup and execution instructions.