Supported OS Linux Windows Mac OS

インテグレーションバージョン4.0.0

概要

このインテグレーションは、TeamCity サーバーに接続してメトリクス、サービスチェック、イベントを送信し、TeamCity プロジェクトのビルド構成、ビルド実行、サーバーリソースなどの健全性を監視することができます。

セットアップ

インストール

TeamCity チェックは Datadog Agent パッケージに含まれています。TeamCity サーバーに追加でインストールする必要はありません。

コンフィギュレーション

TeamCity の準備

ゲストログインを有効にするか、Basic HTTP 認証のユーザー資格情報を識別することができます。

ゲストログイン
  1. ゲストログインを有効にします

  2. プロジェクト単位の権限を Guest ユーザーに割り当てられるように、Per-project permissions を有効にします。認可モードの変更を参照してください。 ゲストログインを有効にする

  3. 既存のロールを使用するか、新しい読み取り専用ロールを作成し、そのロールにView Usage Statistics 権限を追加します。ロールと権限の管理を参照してください。 読み取り専用ロールの作成

  4. [オプション] イベント収集時にビルド構成の種類を自動的に検出するチェックを有効にするには、読み取り専用ロールに View Build Configuration Settings 権限を追加します。 View Build Config Settings 権限の付与

  5. Guest ユーザーに[読み取り専用]ロールを割り当てます。ユーザーへのロールの割り当てを参照してください。 ゲストユーザー設定 ロールの割り当て

ユーザー資格情報

Basic HTTP 認証の場合

  • Agent の構成ディレクトリconf.d/ フォルダ内の teamcity.d/conf.yaml ファイルに、識別された usernamepassword を指定します。
  • Access denied. Enable guest authentication or check user permissions. (アクセスが拒否されました。ゲスト認証を有効にするか、ユーザー権限を確認してください。) というエラーが発生した場合は、ユーザーの権限が正しいことを確認してください。
    • プロジェクト単位および View Usage Statistics 権限が有効になっている。
    • Agent Workload Statistics を収集する場合は、View Agent Details および View Agent Usage Statistics 権限も割り当てます。

ホスト

ホストで実行中の Agent に対してこのチェックを構成するには

Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの teamcity.d/conf.yaml を編集します。使用可能なすべてのコンフィギュレーションオプションの詳細については、サンプル teamcity.d/conf.yaml を参照してください。

TeamCity チェックは、データ収集の 2 つのメソッドを提供します。TeamCity 環境を最適にモニターするには、2 つの別々のインスタンスを構成して、それぞれの方法からメトリクスを収集します。

  1. OpenMetricsV2 メソッド(Python バージョン 3 が必要です):

    TeamCity の /metrics Prometheus エンドポイントからメトリクスを収集するために use_openmetrics: true を有効化します。

    init_config:
    
    instances:
        ## @param server - 文字列 - 必須
        ## TeamCity インスタンスのサーバー名を指定します。
        ## インスタンスでゲスト認証を有効にするか、
        ## オプションの `basic_http_authentication` 構成パラメーターを有効にして、データを収集します。
        ## `basic_http_authentication` を使用する場合は、以下を指定します。
        ##
        ## server: http://<USER>:<PASSWORD>@teamcity.<ACCOUNT_NAME>.com
        #
      - server: http://teamcity.<ACCOUNT_NAME>.com
        ## @param use_openmetrics - ブール値 - オプション - デフォルト: false
        ## 最新の OpenMetrics V2 実装を使用して、
        ## TeamCity サーバーの Prometheus メトリクスエンドポイントからメトリクスを収集します。
        ## Python バージョン 3 が必要です。
        ##
        ## Prometheus のメトリクスを収集するために別のインスタンスで有効化します。
        ## このオプションは、TeamCity REST API からイベント、サービスチェック、メトリクスを収集しません。
        #
        use_openmetrics: true
    

注: OpenMetrics 準拠のヒストグラムとサマリーのメトリクスを収集するには (TeamCity Server 2022.10+ から利用可能)、内部プロパティである teamcity.metrics.followOpenMetricsSpec=true を追加してください。TeamCity 内部プロパティを参照してください。

  1. TeamCity Server REST API メソッド:

    TeamCity サーバーの REST API から追加のビルド固有のメトリクス、サービスチェック、ビルドステータスイベントを収集するために、teamcity.d/conf.yaml ファイルに別のインスタンスを構成します。projects オプションを使用して、プロジェクトとビルド構成を指定します (Python バージョン 3 が必要です)。

    init_config:
    
    instances:
      - server: http://teamcity.<ACCOUNT_NAME>.com
    
        ## @param projects - マッピング - オプション
        ## TeamCity REST API からイベントとメトリクスを収集するための
        ## TeamCity プロジェクトとビルド構成のマッピング。
        #
        projects:
          <PROJECT_A>:
            include:    
            - <BUILD_CONFIG_A>
            - <BUILD_CONFIG_B>
            exclude:
            - <BUILD_CONFIG_C>
          <PROJECT_B>:
            include:
            - <BUILD_CONFIG_D>
          <PROJECT_C>: {}
    

オプションの includeexclude フィルターを使用して、監視に含めるビルド構成 ID と監視から除外するビルド構成 ID をそれぞれ指定し、各プロジェクトのビルド構成監視をカスタマイズします。ビルド構成 ID のマッチングパターンを指定するために、includeexclude のキーで RegEx パターンがサポートされています。もし includeexclude の両方のフィルターが省略された場合、指定したプロジェクトのすべてのビルド構成が監視されます。

Python バージョン 2 の場合、build_configuration オプションを使用して、インスタンスごとに 1 つのビルド構成 ID を構成します。

init_config:

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

    ## @param projects - マッピング - オプション
    ## TeamCity REST API からイベントとメトリクスを収集するための
    ## TeamCity プロジェクトとビルド構成のマッピング。
    #
    build_configuration: <BUILD_CONFIGURATION_ID>

Agent を再起動すると、TeamCity イベントが収集され、Datadog に送信されます。

ログの収集
  1. TeamCity ログ設定を構成します。

  2. デフォルトでは、Datadog のインテグレーションパイプラインは以下のログフォーマットをサポートします。

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

    別の変換パターンを定義する場合は、インテグレーションパイプラインを複製して編集してください。

  3. Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml ファイルでこれを有効にします。

    logs_enabled: true
    
  4. teamcity.d/conf.yaml ファイルで以下のコンフィギュレーションブロックのコメントを削除します。環境に基づいて、path パラメーターの値を変更します。使用可能なすべてのコンフィギュレーションオプションについては、teamcity.d/conf.yaml のサンプルを参照してください。

    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. Agent を再起動します

コンテナ化

コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照して、次のパラメーターを適用してください。

パラメーター
<INTEGRATION_NAME>teamcity
<INIT_CONFIG>空白または {}
<INSTANCE_CONFIG>{"server": "%%host%%", "use_openmetrics": "true"}
ログの収集

Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Kubernetes ログ収集を参照してください。

パラメーター
<LOG_CONFIG>{"source": "teamcity"}

検証

Agent の status サブコマンドを実行し、Checks セクションで teamcity を探します。

収集データ

メトリクス

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.build.configs
(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.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.database.connections.active
(gauge)
[OpenMetrics] Number of active database connections.
teamcity.httpSessions.active
(gauge)
[OpenMetrics] Number of active HTTP sessions.
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.buffer.memory.used.bytes
(gauge)
[OpenMetrics] Estimated memory used by the Java Virtual Machine for this buffer pool.
Shown as byte
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.projects
(gauge)
[OpenMetrics] Number of projects.
teamcity.projects.active
(gauge)
[OpenMetrics] Number of active projects.
teamcity.server.uptime.milliseconds
(gauge)
[OpenMetrics] Time since the server process started initializing.
Shown as millisecond
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.users.active
(gauge)
[OpenMetrics] Number of unique user sessions within the preceding hour.
teamcity.vcsRoots
(gauge)
[OpenMetrics] Number of VCS roots.
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.processing.count
(count)
[OpenMetrics] Count of processing builds in build queue.
teamcity.build.service.messages.count
(count)
[OpenMetrics] Processed service messages.
teamcity.building_hosted_agents
(gauge)
[OpenMetrics] Number of hosted agents running builds.
teamcity.builds
(gauge)
[OpenMetrics] Number of builds in the database.
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.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.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.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.full_agent_wait_time.quantile
(gauge)
[OpenMetrics] Full agent waiting time quantiles.
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.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.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.runningBuilds.UnprocessedMessages
(gauge)
[OpenMetrics] The number of build log messages received from the build agents but not yet processed.
teamcity.vcs.get.current.state.calls.count
(count)
[OpenMetrics] VCS state requests.
teamcity.vcsRootInstances.active
(gauge)
[OpenMetrics] Number of active VCS root instances.
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.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.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.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.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.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.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.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.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.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.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.artifacts_size
(gauge)
[OpenMetrics] The sum of all artifact file sizes in the artifact directory.
Shown as byte
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.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.duplicator_stats
(gauge)
[OpenMetrics] Number of code duplicates found.
teamcity.failed_test_count
(gauge)
[OpenMetrics] The number of failed tests in the build.
teamcity.passed_test_count
(gauge)
[OpenMetrics] The number of successfully passed tests in the build.
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.queue_wait_reason
(gauge)
[OpenMetrics] Queue wait time tagged by wait reason.
Shown as millisecond
teamcity.server_side_build_finishing
(gauge)
[OpenMetrics] The duration of server side build finishing.
teamcity.success_rate
(gauge)
[OpenMetrics] An indicator of the build's success. 0 - failed, 1 - successful.
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 イベントが Datadog に転送されます。

サービスのチェック

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

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。

その他の参考資料