prometheus labels are missing a letter from runner identifiers

Summary

Steps to reproduce

  • register a runner against your gitlab instance
  • enable the prometheus endpoint of the gitlab runner
  • look in the UI at the runner ID (e.g. sANzzmExH), e.g. https://gitlab.com/groups/example-group/-/runners
  • look at the output of the prometheus endpoint labels. (e.g. curl curl 127.0.0.1:9252/metrics |less if you're on the machine of the runner)
  • notice that the last letter of the ID is missing and it only displays sANzzmEx in the label of the gitlab-runner

Actual behavior

runner ID is cut off after 8 characters

Expected behavior

Full runner ID is available as label

Relevant logs and/or screenshots

See large screenshots

Screenshot_2023-10-03_at_14.41.52 Screenshot_2023-10-03_at_14.43.19 Screenshot_2023-10-03_at_14.48.01

Environment description

Self-hosted GitLab (GitLab Community Edition v16.3.5), self-hosted runners. docker executor, but I don't think this is relevant.

config.toml contents
concurrent = 10
check_interval = 0
listen_address = "127.0.0.1:9252"

[session_server]
  session_timeout = 1800

[[runners]]
  name = "runner8: timetac-docker"
  url = "REDACTED"
  token = "REDACTED"
  executor = "docker"
  limit = 7  # limit available runners for resource heavy jobs
  [runners.custom_build_dir]
  [runners.docker]
    tls_verify = false
    image = "buildpack-deps:bullseye"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = [
        "REDACTED"
    ]
    shm_size = 0

Used GitLab Runner version

gitlab-runner --version
Version:      16.4.0
Git revision: 4e724e03
Git branch:   16-4-stable
GO version:   go1.20.5
Built:        2023-09-22T01:05:53+0000
OS/Arch:      linux/amd64

Possible fixes