You can define your own custom resource and use it from context prometheus.run_gauge.labels(...).set(1)
from dagster import InitResourceContext
from dagster_prometheus import PrometheusResource
from prometheus_client import Gauge
from pydantic import PrivateAttr
class CustomPrometheusResource(PrometheusResource):
_run_gauge: Gauge = PrivateAttr(default=None)
def setup_for_execution(self, context: InitResourceContext) -> None:
super().setup_for_execution(context)
self._run_counter = Gauge(
name='dagster_run_gauge',
documentation='Status of Dagster runs',
labelnames=['job_name', 'status', 'cluster'],
registry=self._registry
)
@property
def run_gauge(self):
return self._run_gauge