TeamCity

Supported OS Linux Windows Mac OS

Intégration4.2.0

Présentation

Cette intégration se connecte à votre serveur TeamCity pour envoyer des métriques, des checks de service, et des événements, ce qui vous permet de surveiller la santé des configurations et des exécutions des builds de vos projets TeamCity, les ressources du serveur, et plus encore.

Formule et utilisation

Installation

Le check TeamCity est inclus avec le package de l’Agent Datadog : vous n’avez donc rien d’autre à installer sur vos serveurs TeamCity.

Dépannage de la solution Browser

Préparer TeamCity

Vous pouvez activer la connexion en tant quʼinvité, ou identifier des identifiants dʼutilisateur pour l’authentification HTTP standard.

Connexion en tant quʼinvité
  1. Enable guest login (en anglais).

  2. Activez Per-project permissions pour permettre l’attribution d’autorisations basées sur des projets à l’utilisateur invité. Consultez la section Changing Authorization Mode (en anglais). Activer la connexion en tant quʼinvité (en anglais).

  3. Utilisez un rôle en lecture seule existant ou créez-en un nouveau et ajoutez-lui l’autorisation View Usage Statistics. Consultez la section Managing Roles and Permissions (en anglais). Create Read-only Role (en anglais)

  4. [Facultatif] Pour permettre au check de détecter automatiquement le type de configuration du build lors de la collecte dʼévénement, ajoutez l’autorisation View Build Configuration Settings au rôle en lecture seule. Assign View Build Config Settings Permission (en anglais)

  5. Attribuez le rôle en lecture seule à lʼutilisateur invité. Consultez la section Assigning Roles to Users (en anglais). Guest user settings (en anglais) Assign Role (en anglais)

Identifiants d’utilisateur

Pour l’authentification HTTP standard

  • Indiquez un username et un password identifiés dans le fichier teamcity.d/conf.yaml, dans le dossier conf.d/ du répertoire de configuration de votre Agent.
  • Si vous rencontrez une erreur Access denied. Enable guest authentication or check user permissions., assurez-vous que l’utilisateur dispose des autorisations nécessaires :
    • Les autorisations par projet et pour la consultation des statistiques d’utilisation sont activées.
    • Si vous recueillez des statistiques sur la charge utile de lʼAgent, attribuez également les autorisations pour la consultation des détails de lʼagent et la consultation des statistiques sur lʼutilisation de lʼAgent.

SLO basés sur des métriques

Pour configurer ce check lorsque l’Agent est exécuté sur un host :

Modifiez le fichier teamcity.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent. Consultez le fichier d’exemple teamcity.d/conf.yaml pour découvrir toutes les options de configuration disponibles :

Le check TeamCity propose deux méthodes de collecte de données. Pour surveiller votre environnement TeamCity de façon optimale, configurez deux instances distinctes pour collecter des métriques avec chaque méthode.

  1. Méthode OpenMetrics (nécessite Python version 3) :

    Activez use_openmetrics: true pour recueillir des métriques à partir de lʼendpoint Prometheus /metrics de TeamCity.

    init_config: 
    
    instances:
      - server: http://teamcity.<ACCOUNT_NAME>.com
    
        ## @param projects - mapping - optional
        ## Mapping of TeamCity projects and build configurations to
        ## collect events and metrics from the TeamCity REST API.
        #
        projects:
          <PROJECT_A>:
            include:    
            - <BUILD_CONFIG_A>
            - <BUILD_CONFIG_B>
            exclude:
            - <BUILD_CONFIG_C>
          <PROJECT_B>:
            include:
            - <BUILD_CONFIG_D>
          <PROJECT_C>: {}
    

Pour recueillir des métriques histogram/summary conformes OpenMetrics (disponibles avec TeamCity Server 2022.10+ et versions ultérieures), ajoutez la propriété interne teamcity.metrics.followOpenMetricsSpec=true. Consultez la section TeamCity Internal Properties (en anglais).

  1. Méthode avec lʼAPI REST du serveur TeamCity (nécessite Python version 3) :

    Configurez une instance distincte dans le fichier teamcity.d/conf.yaml pour collecter des métriques supplémentaires spécifiques au build, des checks de service, et des événements sur lʼétat du build depuis l’API REST du serveur TeamCity. Spécifiez vos projets et configurations de build à l’aide de l’option projects.

    init_config:
    
    instances:
      - server: http://teamcity.<ACCOUNT_NAME>.com
    
        ## @param projects - mapping - optional
        ## Mapping of TeamCity projects and build configurations to
        ## collect events and metrics from the TeamCity REST API.
        #
        projects:
          <PROJECT_A>:
            include:    
            - <BUILD_CONFIG_A>
            - <BUILD_CONFIG_B>
            exclude:
            - <BUILD_CONFIG_C>
          <PROJECT_B>:
            include:
            - <BUILD_CONFIG_D>
          <PROJECT_C>: {}
    

Personnalisez la surveillance de la configuration du build de chaque projet en utilisant les filtres facultatif include et exclude pour spécifier les ID de configuration de build à inclure ou à exclure de la surveillance, respectivement. Les patterns des expressions régulières sont pris en charge dans les clés include et exclude pour spécifier les modèles de correspondance des ID de configuration de build. Si les filtres include et exclude sont omis, toutes les configurations de build sont surveillées pour le projet spécifié.

Pour Python version 2, configurez un ID de configuration de build par instance à l’aide de l’option build_configuration :

init_config:

instances:
  - server: http://teamcity.<ACCOUNT_NAME>.com

    ## projets @param - mappage - facultatif
    ## Mappage de projets et de configurations de build TeamCity pour
    ## recueillir des événements et des métriques depuis lʼAPI REST de TeamCity.
    #
    build_configuration: <BUILD_CONFIGURATION_ID>

Redémarrez l’Agent pour commencer à recueillir et envoyer des événements TeamCity à Datadog.

APM
  1. Configurez les paramètres de journalisation TeamCity.

  2. Par défaut, le pipeline d’intégration de Datadog prend en charge les logs au format suivant :

    [2020-09-10 21:21:37,486]   INFO -  jetbrains.buildServer.STARTUP - Current stage: System is ready
    

    Dupliquez et modifiez le pipeline d’intégration si vous avez défini différents patterns de conversion.

  3. La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans datadog.yaml :

    logs_enabled: true
    
  4. Supprimez la mise en commentaire du bloc de configuration du fichier teamcity.d/conf.yaml. Modifiez la valeur du paramètre path en fonction de votre environnement. Consultez le fichier d’exemple teamcity.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

    logs:
      - type: file
        path: /opt/teamcity/logs/teamcity-server.log
        source: teamcity
      - type: file
        path: /opt/teamcity/logs/teamcity-activities.log
        source: teamcity
      - type: file
        path: /opt/teamcity/logs/teamcity-vcs.log
        source: teamcity
      - type: file
        path: /opt/teamcity/logs/teamcity-cleanup.log
        source: teamcity
      - type: file
        path: /opt/teamcity/logs/teamcity-notifications.log
        source: teamcity
      - type: file
        path: /opt/teamcity/logs/teamcity-ws.log
        source: teamcity
    
  5. Redémarrez l’Agent.

Environnement conteneurisé

Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer les paramètres ci-dessous à un environnement conteneurisé.

ParamètreValeur
<NOM_INTÉGRATION>teamcity
<CONFIG_INIT>vide ou {}
<CONFIG_INSTANCE>{"server": "%%host%%", "use_openmetrics": "true"}
APM

La collecte des logs est désactivée par défaut dans l’Agent Datadog. Pour l’activer, consultez la section Collecte de logs Kubernetes.

ParamètreValeur
<CONFIG_LOG>{"source": "teamcity"}

Validation

Lancez la sous-commande status de l’Agent et cherchez teamcity dans la section Checks.

Real User Monitoring

Analyse d’entonnoirs

teamcity.agents.connected.authorized
(gauge)
[OpenMetrics] Number of connected and authorized build agents.
teamcity.agents.running.builds
(gauge)
[OpenMetrics] Number of build agents which are running builds.
teamcity.artifacts_size
(gauge)
[OpenMetrics] The sum of all artifact file sizes in the artifact directory.
Shown as byte
teamcity.build.configs
(gauge)
[OpenMetrics] Number of builds in the database.
teamcity.build.configs.active
(gauge)
[OpenMetrics] Number of active build configurations.
teamcity.build.configs.composite.active
(gauge)
[OpenMetrics] Number of active composite configurations.
teamcity.build.messages.incoming.count
(count)
[OpenMetrics] Incoming build agent messages.
teamcity.build.messages.processing.count
(count)
[OpenMetrics] Processed build agent messages.
teamcity.build.queue.estimates.processing.count
(count)
[OpenMetrics] Build queue estimates processing.
teamcity.build.queue.incoming.count
(count)
[OpenMetrics] Builds added to queue.
teamcity.build.queue.optimization.time.milliseconds.bucket
(count)
[OpenMetrics - TeamCity v2022.10+] Build queue optimization time (bucket).
Shown as millisecond
teamcity.build.queue.optimization.time.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Build queue optimization time (count).
Shown as millisecond
teamcity.build.queue.optimization.time.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Build queue optimization time (sum).
Shown as millisecond
teamcity.build.queue.processing.count
(count)
[OpenMetrics] Count of processing builds in build queue.
teamcity.build.service.messages.count
(count)
[OpenMetrics] Processed service messages.
teamcity.build.triggers.execution.milliseconds.bucket
(count)
[OpenMetrics - TeamCity v2022.10+] Total time spent processing build triggers (bucket).
Shown as millisecond
teamcity.build.triggers.execution.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Total time spent processing build triggers (count).
Shown as millisecond
teamcity.build.triggers.execution.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Total time spent processing build triggers (sum).
Shown as millisecond
teamcity.build.triggers.per.type.execution.milliseconds.bucket
(count)
[OpenMetrics - TeamCity v2022.10+] Time spent processing build triggers of given type (bucket).
Shown as millisecond
teamcity.build.triggers.per.type.execution.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Time spent processing build triggers of given type (count).
Shown as millisecond
teamcity.build.triggers.per.type.execution.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Time spent processing build triggers of given type (sum).
Shown as millisecond
teamcity.build_duration
(gauge)
[OpenMetrics] The build duration (all build stages).
Shown as millisecond
teamcity.build_duration.net_time
(gauge)
[OpenMetrics] The build steps' duration (excluding the checkout, artifact publishing time, and so on).
Shown as millisecond
teamcity.build_stage_duration
(gauge)
[OpenMetrics] The duration of tagged build step. See https://www.jetbrains.com/help/teamcity/custom-chart.html#Default+Statistics+Values+Provided+by+TeamCity.
Shown as millisecond
teamcity.build_test_status
(gauge)
[OpenMetrics] Build test status. 1 - OK; 2 - UNKNOWN; 3 - FAILED.
teamcity.building_hosted_agents
(gauge)
[OpenMetrics] Number of hosted agents running builds.
teamcity.builds
(gauge)
[OpenMetrics] Number of builds in the database.
teamcity.builds.finished.count
(count)
[OpenMetrics] Number of finished builds.
teamcity.builds.queued
(gauge)
[OpenMetrics] Build queue size.
teamcity.builds.running
(gauge)
[OpenMetrics] Number of running builds.
teamcity.builds.started.count
(count)
[OpenMetrics] Number of started builds.
teamcity.cache.InvestigationTestRunsHolder.projectScopes
(gauge)
[OpenMetrics] Number of project scopes in the InvestigationTestRunsHolder scopes cache.
teamcity.cache.InvestigationTestRunsHolder.testNames
(gauge)
[OpenMetrics] Number of tests in the InvestigationTestRunsHolder scopes cache.
teamcity.cache.InvestigationTestRunsHolder.testRuns
(gauge)
[OpenMetrics] Number of test runs in the InvestigationTestRunsHolder cache.
teamcity.cloud.active_nodes
(gauge)
[OpenMetrics] Current number of active cloud-managed nodes.
teamcity.cloud.agent.active_duration_afterBuild
(gauge)
Duration of time spent by managed agent between build finish and agent termination.
Shown as millisecond
teamcity.cloud.agent.active_duration_beforeBuild
(gauge)
Duration of time spent by managed agent before build start.
Shown as millisecond
teamcity.cloud.agent.active_duration_betweenBuilds
(gauge)
Duration of time spent by managed agent between builds before agent termination.
Shown as millisecond
teamcity.cloud.agent.idle_duration
(gauge)
[OpenMetrics] Duration of time managed agent spent idle.
teamcity.cloud.agent.starting_duration_beforeRegister
(gauge)
Duration of time spent starting cloud agent.
Shown as millisecond
teamcity.cloud.agent.total_build_duration
(gauge)
Total build duration on managed agent.
Shown as millisecond
teamcity.cloud.agent.total_build_duration_beforeFinish
(gauge)
Total build duration on managed agent before build finish.
Shown as millisecond
teamcity.cloud.build_stuck_canceled
(gauge)
[OpenMetrics] Number of builds stack in the canceling state.
teamcity.cloud.images
(gauge)
[OpenMetrics] Number of cloud images.
teamcity.cloud.plugins.failed_loading.count
(count)
[OpenMetrics] Number of plugins failed to load.
teamcity.cloud.server.gc_usage_exceeded_errors
(gauge)
[OpenMetrics] Number of GC usage exceeded errors.
teamcity.cloud.server.high_total_memory_errors
(gauge)
[OpenMetrics] Number of high memory errors.
teamcity.cloud.tcc_plugin_loaded
(gauge)
[OpenMetrics] Flag indicating TeamCity Cloud Plugin is loaded and running.
teamcity.code_coverage.blocks.covered
(gauge)
[OpenMetrics] Number of covered blocks.
teamcity.code_coverage.blocks.pct
(gauge)
[OpenMetrics] Block-level code coverage percentage.
Shown as percent
teamcity.code_coverage.blocks.total
(gauge)
[OpenMetrics] Total number of blocks.
teamcity.code_coverage.branches.covered
(gauge)
[OpenMetrics] Number of covered branches.
teamcity.code_coverage.branches.pct
(gauge)
[OpenMetrics] Branch coverage percentage.
Shown as percent
teamcity.code_coverage.branches.total
(gauge)
[OpenMetrics] Total number of branches.
teamcity.code_coverage.classes.covered
(gauge)
[OpenMetrics] Number of covered classes.
teamcity.code_coverage.classes.pct
(gauge)
[OpenMetrics] Class-level code coverage percentage.
Shown as percent
teamcity.code_coverage.classes.total
(gauge)
[OpenMetrics] Total number of classes.
teamcity.code_coverage.lines.covered
(gauge)
[OpenMetrics] Number of covered lines.
teamcity.code_coverage.lines.pct
(gauge)
[OpenMetrics] Line-level code coverage percentage.
Shown as percent
teamcity.code_coverage.lines.total
(gauge)
[OpenMetrics] Total number of lines.
teamcity.code_coverage.methods.covered
(gauge)
[OpenMetrics] Number of covered methods.
teamcity.code_coverage.methods.pct
(gauge)
[OpenMetrics] Method-level code coverage percentage.
Shown as percent
teamcity.code_coverage.methods.total
(gauge)
[OpenMetrics] Total number of methods.
teamcity.code_coverage.statements.covered
(gauge)
[OpenMetrics] Number of covered statements.
teamcity.code_coverage.statements.pct
(gauge)
[OpenMetrics] Statement coverage percentage.
Shown as percent
teamcity.code_coverage.statements.total
(gauge)
[OpenMetrics] Total number of statements.
teamcity.cpu.count
(gauge)
[OpenMetrics] The number of processors available to the Java Virtual Machine.
teamcity.cpu.usage.process
(gauge)
[OpenMetrics] The recent cpu usage for the Java Virtual Machine process.
teamcity.cpu.usage.system
(gauge)
[OpenMetrics] The recent cpu usage for the whole system.
teamcity.current_full_agent_wait_instances
(gauge)
[OpenMetrics] Current full agent waiting instances.
teamcity.current_full_agent_wait_time_max
(gauge)
[OpenMetrics] Current max full agent waiting time.
teamcity.current_full_agent_wait_time_total
(gauge)
[OpenMetrics] Current total full agent waiting time.
teamcity.database.connections.active
(gauge)
[OpenMetrics] Number of active database connections.
teamcity.db.table.writes.count
(count)
[OpenMetrics] Writes to build_data_storage DB table.
teamcity.disk_usage.artifacts.bytes
(gauge)
[OpenMetrics] Artifacts disk usage.
teamcity.disk_usage.logs.bytes
(gauge)
[OpenMetrics] Build logs disk usage.
teamcity.duplicator_stats
(gauge)
[OpenMetrics] Number of code duplicates found.
teamcity.executors.asyncXmlRpc.activeTasks
(gauge)
[OpenMetrics] Running executor tasks for asyncXmlRpc.
teamcity.executors.asyncXmlRpc.completedTasks
(gauge)
[OpenMetrics] Completed executor tasks for asyncXmlRpc.
teamcity.executors.asyncXmlRpc.maxQueueCapacity
(gauge)
[OpenMetrics] Queue capacity for asyncXmlRpc.
teamcity.executors.asyncXmlRpc.poolSize
(gauge)
[OpenMetrics] Pool size for asyncXmlRpc.
teamcity.executors.asyncXmlRpc.queuedTasks
(gauge)
[OpenMetrics] Number of queued tasks for asyncXmlRpc.
teamcity.executors.asyncXmlRpc.rejectsCount
(gauge)
[OpenMetrics] Rejection count for adding tasks to asyncXmlRpc.
teamcity.executors.baseVcsExecutor.activeTasks
(gauge)
[OpenMetrics] Running executor tasks for baseVcsExecutor.
teamcity.executors.baseVcsExecutor.completedTasks
(gauge)
[OpenMetrics] Completed executor tasks for baseVcsExecutor.
teamcity.executors.baseVcsExecutor.maxQueueCapacity
(gauge)
[OpenMetrics] Queue capacity for baseVcsExecutor.
teamcity.executors.baseVcsExecutor.poolSize
(gauge)
[OpenMetrics] Pool size for baseVcsExecutor.
teamcity.executors.baseVcsExecutor.queuedTasks
(gauge)
[OpenMetrics] Number of queued tasks for baseVcsExecutor.
teamcity.executors.baseVcsExecutor.rejectsCount
(gauge)
[OpenMetrics] Rejection count for adding tasks to baseVcsExecutor.
teamcity.executors.cleanupExecutor.activeTasks
(gauge)
[OpenMetrics] Running executor tasks for cleanupExecutor.
teamcity.executors.cleanupExecutor.completedTasks
(gauge)
[OpenMetrics] Completed executor tasks for cleanupExecutor.
teamcity.executors.cleanupExecutor.maxQueueCapacity
(gauge)
[OpenMetrics] Queue capacity for cleanupExecutor.
teamcity.executors.cleanupExecutor.poolSize
(gauge)
[OpenMetrics] Pool size for cleanupExecutor.
teamcity.executors.cleanupExecutor.queuedTasks
(gauge)
[OpenMetrics] Number of queued tasks for cleanupExecutor.
teamcity.executors.cleanupExecutor.rejectsCount
(gauge)
[OpenMetrics] Rejection count for adding tasks to cleanupExecutor.
teamcity.executors.lowPriorityExecutor.activeTasks
(gauge)
[OpenMetrics] Running executor tasks for lowPriorityExecutor.
teamcity.executors.lowPriorityExecutor.completedTasks
(gauge)
[OpenMetrics] Completed executor tasks for lowPriorityExecutor.
teamcity.executors.lowPriorityExecutor.maxQueueCapacity
(gauge)
[OpenMetrics] Queue capacity for lowPriorityExecutor.
teamcity.executors.lowPriorityExecutor.poolSize
(gauge)
[OpenMetrics] Pool size for lowPriorityExecutor.
teamcity.executors.lowPriorityExecutor.queuedTasks
(gauge)
[OpenMetrics] Number of queued tasks for lowPriorityExecutor.
teamcity.executors.lowPriorityExecutor.rejectsCount
(gauge)
[OpenMetrics] Rejection count for adding tasks to lowPriorityExecutor.
teamcity.executors.normalExecutor.activeTasks
(gauge)
[OpenMetrics] Running executor tasks for normalExecutor.
teamcity.executors.normalExecutor.completedTasks
(gauge)
[OpenMetrics] Completed executor tasks for normalExecutor.
teamcity.executors.normalExecutor.maxQueueCapacity
(gauge)
[OpenMetrics] Queue capacity for normalExecutor.
teamcity.executors.normalExecutor.poolSize
(gauge)
[OpenMetrics] Pool size for normalExecutor.
teamcity.executors.normalExecutor.queuedTasks
(gauge)
[OpenMetrics] Number of queued tasks for normalExecutor.
teamcity.executors.normalExecutor.rejectsCount
(gauge)
[OpenMetrics] Rejection count for adding tasks to normalExecutor.
teamcity.executors.periodicalVcsExecutor.activeTasks
(gauge)
[OpenMetrics] Running executor tasks for periodicalVcsExecutor.
teamcity.executors.periodicalVcsExecutor.completedTasks
(gauge)
[OpenMetrics] Completed executor tasks for periodicalVcsExecutor.
teamcity.executors.periodicalVcsExecutor.maxQueueCapacity
(gauge)
[OpenMetrics] Queue capacity for periodicalVcsExecutor.
teamcity.executors.periodicalVcsExecutor.poolSize
(gauge)
[OpenMetrics] Pool size for periodicalVcsExecutor.
teamcity.executors.periodicalVcsExecutor.queuedTasks
(gauge)
[OpenMetrics] Number of queued tasks for periodicalVcsExecutor.
teamcity.executors.periodicalVcsExecutor.rejectsCount
(gauge)
[OpenMetrics] Rejection count for adding tasks to periodicalVcsExecutor.
teamcity.executors.tomcatHttpThreadPool.activeTasks
(gauge)
[OpenMetrics] Number of Apache Tomcat HTTP thread pool active threads.
teamcity.executors.tomcatHttpThreadPool.poolSize
(gauge)
[OpenMetrics] Apache Tomcat HTTP thread pool size.
teamcity.executors.triggersExecutor.activeTasks
(gauge)
[OpenMetrics] Running executor tasks for triggersExecutor.
teamcity.executors.triggersExecutor.completedTasks
(gauge)
[OpenMetrics] Completed executor tasks for triggersExecutor.
teamcity.executors.triggersExecutor.maxQueueCapacity
(gauge)
[OpenMetrics] Queue capacity for triggersExecutor.
teamcity.executors.triggersExecutor.poolSize
(gauge)
[OpenMetrics] Pool size for triggersExecutor.
teamcity.executors.triggersExecutor.queuedTasks
(gauge)
[OpenMetrics] Number of queued tasks for triggersExecutor.
teamcity.executors.triggersExecutor.rejectsCount
(gauge)
[OpenMetrics] Rejection count for adding tasks to triggersExecutor.
teamcity.failed_test_count
(gauge)
[OpenMetrics] The number of failed tests in the build.
teamcity.finishingBuild.buildFinishDelay.milliseconds.bucket
(count)
[OpenMetrics - TeamCity v2022.10+] Time spent since the server received buildFinish from the agent and a moment when the build has been finished by the server (bucket).
Shown as millisecond
teamcity.finishingBuild.buildFinishDelay.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Time spent since the server received buildFinish from the agent and a moment when the build has been finished by the server (count).
Shown as millisecond
teamcity.finishingBuild.buildFinishDelay.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Time spent since the server received buildFinish from the agent and a moment when the build has been finished by the server (sum).
Shown as millisecond
teamcity.full.agent.waiting.time.milliseconds.bucket
(count)
[OpenMetrics - TeamCity v2022.10+] Full agent waiting time (bucket).
Shown as millisecond
teamcity.full.agent.waiting.time.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Full agent waiting time (count).
Shown as millisecond
teamcity.full.agent.waiting.time.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Full agent waiting time (sum).
Shown as millisecond
teamcity.full_agent_wait_time.quantile
(gauge)
[OpenMetrics] Full agent waiting time quantiles.
teamcity.http.requests.duration.milliseconds.bucket
(count)
[OpenMetrics - TeamCity v2022.10+] Duration of http requests to the server (bucket).
Shown as millisecond
teamcity.http.requests.duration.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Duration of http requests to the server (count).
Shown as millisecond
teamcity.http.requests.duration.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Duration of http requests to the server (sum).
Shown as millisecond
teamcity.httpSessions.active
(gauge)
[OpenMetrics] Number of active HTTP sessions.
teamcity.ignored_test_count
(gauge)
[OpenMetrics] Number of ignored tests in the build.
teamcity.inspection_stats_e
(gauge)
[OpenMetrics] The number of inspection errors in the build.
teamcity.inspection_stats_w
(gauge)
[OpenMetrics] The number of inspection warnings in the build.
teamcity.io.build.log.reads.bytes.count
(count)
[OpenMetrics] Build log read bytes count.
Shown as byte
teamcity.io.build.log.writes.bytes.count
(count)
[OpenMetrics] Build log written bytes count.
Shown as byte
teamcity.io.build.patch.writes.bytes.count
(count)
[OpenMetrics] An estimate of the memory that the Java Virtual Machine is using for this buffer pool.
Shown as byte
teamcity.jvm.buffer.memory.used.bytes
(gauge)
[OpenMetrics] Estimated memory used by the Java Virtual Machine for this buffer pool.
Shown as byte
teamcity.jvm.buffer.total.capacity.bytes
(gauge)
[OpenMetrics] An estimate of the total capacity of the buffers in this pool.
Shown as byte
teamcity.jvm.buffers_count
(gauge)
[OpenMetrics] Estimated number of buffers in the pool.
teamcity.jvm.gc.count
(gauge)
[OpenMetrics] Number of GC calls.
teamcity.jvm.gc.duration.total.milliseconds
(gauge)
[OpenMetrics] Total GC duration since JVM start.
Shown as millisecond
teamcity.jvm.gc.live.data.size.bytes
(gauge)
[OpenMetrics] Size of old generation memory pool after a full GC.
teamcity.jvm.gc.max.data.size.bytes
(gauge)
[OpenMetrics] Max size of old generation memory pool.
teamcity.jvm.gc.memory.allocated.bytes.count
(count)
[OpenMetrics] Count incremented for an increase in the size of the young generation memory pool between GC calls.
teamcity.jvm.gc.memory.promoted.bytes.count
(count)
[OpenMetrics] Count of positive increases in the size of the old generation memory pool between GC calls.
teamcity.jvm.memory.committed.bytes
(gauge)
[OpenMetrics] The amount of memory in bytes that is committed for the Java virtual machine to use.
teamcity.jvm.memory.max.bytes
(gauge)
[OpenMetrics] The maximum amount of memory in bytes that can be used for memory management.
teamcity.jvm.memory.used.bytes
(gauge)
[OpenMetrics] The amount of used memory.
teamcity.jvm.threads
(gauge)
[OpenMetrics] The current number of live threads including both daemon and non-daemon threads.
teamcity.jvm.threads.daemon
(gauge)
[OpenMetrics] The current number of live daemon threads.
teamcity.node.events.processing.count
(count)
[OpenMetrics] Number of multi-node events processing.
teamcity.node.events.publishing.count
(count)
[OpenMetrics] Number of multi-node events publishing.
teamcity.node.events.unprocessed
(gauge)
[OpenMetrics] Current number of unprocessed multi-node events.
teamcity.node.tasks.accepted.count
(count)
[OpenMetrics] Multi-node tasks accepted.
teamcity.node.tasks.finished.count
(count)
[OpenMetrics] Multi-node tasks finished.
teamcity.node.tasks.pending
(gauge)
[OpenMetrics] Current number of pending multi-node tasks.
teamcity.passed_test_count
(gauge)
[OpenMetrics] The number of successfully passed tests in the build.
teamcity.process.queue.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Count of time to process build queue and start builds.
Shown as millisecond
teamcity.process.queue.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Sum of time to process build queue and start builds.
Shown as millisecond
teamcity.process.queue.parts.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Count of time spent on builds optimization while processing the build queue.
Shown as millisecond
teamcity.process.queue.parts.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Sum of time spent on builds optimization while processing the build queue.
Shown as millisecond
teamcity.process.websocket.send.pending.messages.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Count of time to send all pending WebSocket messages to UI.
Shown as millisecond
teamcity.process.websocket.send.pending.messages.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Sum of time to send all pending WebSocket messages to UI.
Shown as millisecond
teamcity.projects
(gauge)
[OpenMetrics] Number of projects.
teamcity.projects.active
(gauge)
[OpenMetrics] Number of active projects.
teamcity.pullRequests.batch.time.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Count of pull request retrieval, batch, duration.
Shown as millisecond
teamcity.pullRequests.batch.time.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Sum of pull request retrieval, batch, duration.
Shown as millisecond
teamcity.pullRequests.single.time.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Count of pull request retrieval, individual, duration.
Shown as millisecond
teamcity.pullRequests.single.time.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Sum of pull request retrieval, individual, duration.
Shown as millisecond
teamcity.queue_wait_reason
(gauge)
[OpenMetrics] Queue wait time tagged by wait reason.
Shown as millisecond
teamcity.queuedBuild.waitingTime.milliseconds.bucket
(count)
[OpenMetrics - TeamCity v2022.10+] Time spent by a build waiting in the queue due to a particular reason (bucket).
Shown as millisecond
teamcity.queuedBuild.waitingTime.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Time spent by a build waiting in the queue due to a particular reason (count).
Shown as millisecond
teamcity.queuedBuild.waitingTime.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Time spent by a build waiting in the queue due to a particular reason (sum).
Shown as millisecond
teamcity.runningBuilds.UnprocessedMessages
(gauge)
[OpenMetrics] The number of build log messages received from the build agents but not yet processed.
teamcity.server.uptime.milliseconds
(gauge)
[OpenMetrics] Time since the server process started initializing.
Shown as millisecond
teamcity.server_side_build_finishing
(gauge)
[OpenMetrics] The duration of server side build finishing.
teamcity.startingBuild.buildStartDelay.milliseconds.bucket
(count)
[OpenMetrics - TeamCity v2022.10+] Time passed after the build was removed from the queue but before the start of the checking for changes operation (bucket).
Shown as millisecond
teamcity.startingBuild.buildStartDelay.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Time passed after the build was removed from the queue but before the start of the checking for changes operation (count).
Shown as millisecond
teamcity.startingBuild.buildStartDelay.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Time passed after the build was removed from the queue but before the start of the checking for changes operation (sum).
Shown as millisecond
teamcity.startingBuild.runBuildDelay.milliseconds.bucket
(count)
[OpenMetrics - TeamCity v2022.10+] Time spent while preparing the starting build data and passing it to an agent (bucket).
Shown as millisecond
teamcity.startingBuild.runBuildDelay.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Time spent while preparing the starting build data and passing it to an agent (count).
Shown as millisecond
teamcity.startingBuild.runBuildDelay.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Time spent while preparing the starting build data and passing it to an agent (sum).
Shown as millisecond
teamcity.success_rate
(gauge)
[OpenMetrics] An indicator of the build's success. 0 - failed, 1 - successful.
teamcity.system.load.average.1m
(gauge)
[OpenMetrics] The sum of the number of runnable entities queued to available processors and the number of runnable entities.
teamcity.time_spent_in_queue
(gauge)
[OpenMetrics] Duration of time the build was staying in the queue.
Shown as millisecond
teamcity.total_test_count
(gauge)
[OpenMetrics] The total number of tests in the build.
teamcity.users.active
(gauge)
[OpenMetrics] Number of unique user sessions within the preceding hour.
teamcity.vcs.changes.checking.milliseconds.bucket
(count)
[OpenMetrics - TeamCity v2022.10+] Duration of checking for changes operation (bucket).
Shown as millisecond
teamcity.vcs.changes.checking.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Duration of checking for changes operation (count).
Shown as millisecond
teamcity.vcs.changes.checking.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Duration of checking for changes operation (sum).
Shown as millisecond
teamcity.vcs.get.current.state.calls.count
(count)
[OpenMetrics] VCS state requests.
teamcity.vcs.git.fetch.duration.milliseconds.bucket
(count)
[OpenMetrics - TeamCity v2022.10+] Git fetch operations duration (bucket).
Shown as millisecond
teamcity.vcs.git.fetch.duration.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Git fetch operations duration (count).
Shown as millisecond
teamcity.vcs.git.fetch.duration.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Git fetch operations duration (sum).
Shown as millisecond
teamcity.vcsChangesCollection.delay.milliseconds.count
(count)
[OpenMetrics - TeamCity v2022.10+] Count of delay of the checking for changes operations invoked by: Starting build or build chain.
Shown as millisecond
teamcity.vcsChangesCollection.delay.milliseconds.sum
(count)
[OpenMetrics - TeamCity v2022.10+] Sum of delay of the checking for changes operations invoked by: Starting build or build chain.
Shown as millisecond
teamcity.vcsRootInstances.active
(gauge)
[OpenMetrics] Number of active VCS root instances.
teamcity.vcsRoots
(gauge)
[OpenMetrics] Number of VCS roots.

Aide

Les événements TeamCity qui correspondent à des builds réussis et échoués sont transmis à Datadog.

Aide

teamcity.openmetrics.health
Returns CRITICAL if the Agent is unable to connect to the OpenMetrics endpoint, otherwise returns OK.
Statuses: ok, critical

teamcity.build.status
Returns CRITICAL if the finished build has a status of FAILURE. Returns OK otherwise. Only emitted by the TeamCity REST instance.
Statuses: ok, critical

teamcity.build.problems
Returns WARNING if the finished build has encountered a problem. Returns OK otherwise. Only emitted by the TeamCity REST instance.
Statuses: ok, warning

teamcity.test.results
Returns CRITICAL if the finished build test has encountered a problem, WARNING if it has encountered a warning, or UNKNOWN if it has encountered an unknown problem. Returns OK otherwise. Only emitted by the TeamCity REST instance.
Statuses: ok, warning, critical, unknown

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin