def METHOD_NAME(
    signal: str, task: Task, exc: Optional[Exception] = None
) -> None:
    config: GTFSDownloadConfig = task.kwargs["config"]
    exc_type = ""
    # We want to let RTFetchException propagate up to Sentry so it holds the right context
    # and can be handled in the before_send hook
    # But in Grafana/Prometheus we want to group metrics by the underlying cause
    # All of this might be simplified by https://huey.readthedocs.io/en/latest/api.html#Huey.post_execute?
    if exc:
        if isinstance(exc, RTFetchException):
            exc_type = type(exc.cause).__name__
        else:
            exc_type = type(exc).__name__
    TASK_SIGNALS.labels(
        record_name=config.name,
        record_uri=config.url,
        record_feed_type=config.feed_type,
        signal=signal,
        exc_type=exc_type,
    ).inc()