Closed WilsonSunBritten closed 2 years ago
Open to input on formatting/etc, I'm not too familiar with python. The big trouble here was keeping the threadpool performance gains on the network requests for different projects while still splitting up the metric groups.
I get it @WilsonSunBritten. What about that approach with NamedTuples https://github.com/phsmith/rundeck_exporter/pull/46/commits/0734ea4e57deb19834d76c65142b24ffd0a5d1f2?
Oh, and sorry, I've just see that I made the commit direct on your branch.
No worries, I do think that looks a bit cleaner. Thanks for the iteration!
Great, man! Let's publish a new release then. Thanks a lot for the contribution!
Thanks for the speedy feedback and release! I used the new file in a setup where telegraf passes these metrics onto datadog and have already gotten great insights today. I look forward to switching back to an official release tomorrow.
Goal: 1 HELP metric line should exist per metric. Currently 1 will appear per project. Example output with this change:
HELP rundeck_project_execution_status Rundeck Project ProjectName Execution Status
TYPE rundeck_project_execution_status gauge
rundeck_project_execution_status{execution_id="5122",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="7c0247e6-3fbb-4c20-913c-331a1a7c3959",job_name="testjob-1",project_name="test-project",status="succeeded",user="admin"} 1.0 rundeck_project_execution_status{execution_id="5122",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="7c0247e6-3fbb-4c20-913c-331a1a7c3959",job_name="testjob-1",project_name="test-project",status="running",user="admin"} 0.0 rundeck_project_execution_status{execution_id="5122",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="7c0247e6-3fbb-4c20-913c-331a1a7c3959",job_name="testjob-1",project_name="test-project",status="failed",user="admin"} 0.0 rundeck_project_execution_status{execution_id="5122",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="7c0247e6-3fbb-4c20-913c-331a1a7c3959",job_name="testjob-1",project_name="test-project",status="aborted",user="admin"} 0.0 rundeck_project_execution_status{execution_id="5122",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="7c0247e6-3fbb-4c20-913c-331a1a7c3959",job_name="testjob-1",project_name="test-project",status="unknown",user="admin"} 0.0 rundeck_project_execution_status{execution_id="5104",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="dcf0d988-74b6-47ec-b2b8-ba59866c7cdc",job_name="testjob-2",project_name="test-project",status="succeeded",user="admin"} 1.0 rundeck_project_execution_status{execution_id="5104",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="dcf0d988-74b6-47ec-b2b8-ba59866c7cdc",job_name="testjob-2",project_name="test-project",status="running",user="admin"} 0.0 rundeck_project_execution_status{execution_id="5104",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="dcf0d988-74b6-47ec-b2b8-ba59866c7cdc",job_name="testjob-2",project_name="test-project",status="failed",user="admin"} 0.0 rundeck_project_execution_status{execution_id="5104",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="dcf0d988-74b6-47ec-b2b8-ba59866c7cdc",job_name="testjob-2",project_name="test-project",status="aborted",user="admin"} 0.0 rundeck_project_execution_status{execution_id="5104",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="dcf0d988-74b6-47ec-b2b8-ba59866c7cdc",job_name="testjob-2",project_name="test-project",status="unknown",user="admin"} 0.0 rundeck_project_execution_status{execution_id="5108",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="6b916bf2-a730-4adf-9e56-9613bfb17c9d",job_name="testjob-3",project_name="test-project-2",status="succeeded",user="admin"} 1.0 rundeck_project_execution_status{execution_id="5108",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="6b916bf2-a730-4adf-9e56-9613bfb17c9d",job_name="testjob-3",project_name="test-project-2",status="running",user="admin"} 0.0 rundeck_project_execution_status{execution_id="5108",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="6b916bf2-a730-4adf-9e56-9613bfb17c9d",job_name="testjob-3",project_name="test-project-2",status="failed",user="admin"} 0.0 rundeck_project_execution_status{execution_id="5108",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="6b916bf2-a730-4adf-9e56-9613bfb17c9d",job_name="testjob-3",project_name="test-project-2",status="aborted",user="admin"} 0.0 rundeck_project_execution_status{execution_id="5108",execution_type="scheduled",instance_address="rundeck3:4440",job_group="",job_id="6b916bf2-a730-4adf-9e56-9613bfb17c9d",job_name="testjob-3",project_name="test-project-2",status="unknown",user="admin"} 0.0