Open Metrics
Open Metrics is an open standard for exposing and transmitting metrics from applications and services. It provides a common, easy-to-read format that can be utilized by different monitoring tools and systems. Unlike JMX MBeans, which is specifically designed to monitor Java applications (such as the main Artifactory service), Open Metrics can be used to monitor other Artifactory services and microservices that are written in programming languages other than Java.
Subscription Information
This feature is supported on the Self-Managed platform, with a Pro, Pro X, Enterprise X, or Enterprise+ license.
Credentials for Accessing Open Metrics
From Artifactory version 7.21.1, an admin user can create a scoped access token using
system:metrics:rand use that as the credentials for getting the service metrics. The admin can create a read-only access token to get metrics, which then enables anyone with the read-only token to read metrics. To learn more, see Access Tokens.
Enable Metrics in a Self-Managed Environment
To enable metrics in Artifactory in a self-managed environment, set the following values in the Artifactory System YAML file to true:
shared.metrics.enabledartifactory.database.metrics.enabled
You must restart Artifactory for the changes to take effect.
To enable metrics in Xray, make the following configuration change to the Xray System YAML:
openMetrics:
enabled: true
Get Open Metrics via REST API
Use the following REST APIs to return the Open Metrics available for your installation:
- Self-managed: Get the Open Metrics for Artifactory
- SaaS (Cloud): Get Artifactory Application Metrics
Artifactory Federation Service (RTFS)
Use the following cURL command to retrieve metrics for the Artifactory Federation Service:
curl -H "Authorization: Bearer <ACCESS_TOKEN>" -X GET https://{artifactory_url}/rtfs/api/v1/metrics
OpenMetrics for the Artifactory Federation Service is available on Artifactory Self-Hosted versions 7.111.12 and later, and 7.117.5 and later.
Artifactory Service Metrics
Metric | Description | Prometheus Metric Type |
|---|---|---|
| Total disk used by the application (Home directory) | GAUGE |
| Total disk free | GAUGE |
| Time taken by a GC run | GAUGE |
| Number of binaries removed by a GC run | GAUGE |
| Space reclaimed by a GC run | GAUGE |
| Space occupied by Binaries after a GC run (Only for FULL GC runs) Note: This metric is deprecated as of Artifactory 7.79.0. | GAUGE |
| Number of repositories by type (local, remote, virtual) and package type. | COUNTER |
| Available free memory for JVM | GAUGE |
| Maximum memory configured for JVM | GAUGE |
| Total memory configured for JVM memory | GAUGE |
| Total number of processors for JVM memory | COUNTER |
| Total number of active total DB connections | GAUGE |
| Total number of idle DB connections | GAUGE |
| Total number of maximum DB connections | GAUGE |
| Total number of min idle DB connections | GAUGE |
(see note below table) | Total number of available outbound HTTP connections | GAUGE |
(see note below table) | Total number of available leased HTTP connections | GAUGE |
(see note below table) | Total number of available pending HTTP connections | GAUGE |
(see note below table) | Total number of maximum HTTP connections | GAUGE |
| Slow queries duration in seconds | GAUGE |
| Counts the total bytes downloaded by binary providers (cache-fs, s3-storage-v3, azure-blob-storage-v2, google-storage-v2). The name label indicates the binary provider name. Available from Artifactory version 7.76. | COUNTER |
| Counts the total bytes uploaded by binary providers (cache-fs, s3-storage-v3, azure-blob-storage-v2, google-storage-v2). The name label indicates the binary provider name. Available from Artifactory version 7.76. | COUNTER |
| Counts the total number of failed binary download operations. Available from Artifactory version 7.76. | COUNTER |
| Counts the total number of successful binary download operations. Available from Artifactory version 7.76. | COUNTER |
| Counts the total number of failed binary upload operations. Available from Artifactory version 7.76. | COUNTER |
| Counts the total number of successful binary upload operations. Available from Artifactory version 7.76. | COUNTER |
| The number of binaries in the binary provider. The name and id labels relate to the binary provider in the chain. Available from Artifactory version 7.59 provider: cache-fs. | GAUGE |
| Counts the total binaries downloaded by binary providers. The name and id labels relate to the binary provider in the chain. For cache-fs, the count is incremented only if a binary is present in the cache. Available from Artifactory version 7.59 providers: cache-fs, s3-storage-v3, azure-blob-storage-v2, and google-storage-v2. Available from Artifactory version 7.68 sharding and filesystem providers: file-system and state-aware. | COUNTER |
| Counts the total requests not found. The name and id labels relate to the binary provider in the chain. Available from Artifactory version 7.59 provider: cache-fs. | COUNTER |
| Counts the total binaries uploaded to a binary provider. The name and id labels relate to the binary provider in the chain. Available from Artifactory version 7.59 providers: s3-storage-v3, azure-blob-storage-v2, and google-storage-v2. Available from Artifactory version 7.68 sharding and filesystem providers: file-system and state-aware. | COUNTER |
| For Artifactory instances configured to use shards, this metric obtains the accessibility status of each shard. The possible values are:
Available from Artifactory version 7.111.4. | GAUGE |
| Counts the total sharding optimizations that are required by the system. Available from Artifactory version 7.68. | COUNTER |
| Counts binaries that were not cached due to their large size. Available from Artifactory version 7.111.4. | COUNTER |
| Counts the amount of cleared bytes from cache-fs. Available from Artifactory version 7.55. | GAUGE |
| The size of the binaries (in bytes) in the binary provider. The name and id labels relate to the binary provider in the chain. Available from Artifactory version 7.55 provider: cache-fs. | GAUGE |
| Counts how many times signed URLs were generated. Available from Artifactory version 7.59. | COUNTER |
| Counts the total number of bytes that Artifactory has redirected to a client through the Signed Redirect URL. Note: This number is an estimate, as Artifactory cannot track how many times the client used the Signed URL or whether all download attempts were successful. | COUNTER |
| The number of connections that are leased. Available from Artifactory version 7.59. Note: This metric is used only for the google-storage-v2 storage provider. | GAUGE |
| The number of pending connections. Available from Artifactory version 7.59. Note: This metric is used only for the google-storage-v2 storage provider. | GAUGE |
Available from Artifactory version 7.59. Note: This metric is used only for the google-storage-v2 storage provider. | The maximum number of possible connections in the connection pool. Available from Artifactory version 7.59. Note: This metric is used only for the google-storage-v2 storage provider. | GAUGE |
| The total number of Release Bundle versions that have been deleted from Artifactory. Available labels include Available from Artifactory version 7.80.0. Note: When the | COUNTER |
Note
jfrt_http_connections_*metrics collects outbound HTTP connections for repositories sorted by available pool count. If you want to collect this information for more repositories, you can set the value in the artifactory.system.properties file (available at$JFROG_HOME/var/etc/artifactory/) using the metricartifactory.httpconnections.metrics.max.total.repositories. The default and recommended value of this metric is 10, but you can set the value to any integer. This metric is available only when using a repository with HTTP connections.
Release Lifecycle Management Metrics
These metrics support Release Lifecycle Management.
Metric | Description | Prometheus Metric Type |
|---|---|---|
| The median amount of time it takes to copy artifacts to the target repository during a promotion operation. | COUNTER |
| The median number of artifacts in Release Bundle v2 versions. | COUNTER |
| The total number of Release Bundle v2 versions that have been created. | COUNTER |
| The number of Release Bundle v2 versions created per agent:
| COUNTER |
| The number of Release Bundle v2 versions created per method:
| COUNTER |
| The median amount of time it takes to perform promotions. | COUNTER |
| The number of Release Bundle v2 promotion deletions per agent:
| COUNTER |
| The total number of promotion operations (including failed promotions). | COUNTER |
| The total number of completed promotions. | COUNTER |
| The median total size of the artifact properties defined in Release Bundle v2 versions. | COUNTER |
| The total number of Release Bundles v2 versions that exist in the system. | COUNTER |
| The median amount of time required to create Release Bundle v2 versions. | COUNTER |
| The median amount of time required to delete Release Bundle v2 versions. | COUNTER |
Federated Repository Metrics
The Artifactory Federation Service was introduced in late 2024 as a standalone microservice to replace the legacy Federation service. For complete details about available metrics, see Artifactory Federation Service Custom Metrics.
The following table lists metrics for the legacy Federation Service.
Note
To configure legacy Federated repository monitoring, set the following Artifactory system property:
artifactory.federated.metrics.enabled = true. For more information, see Artifactory System Properties for Federated Repository Metrics.
Metric | Description | Prometheus Metric Type |
|---|---|---|
| Records all Federated repositories whose sync lag exceeds the defined threshold (in milliseconds). The measured lag must exceed the minimum threshold value defined in the following system property: artifactory.federated.metrics.sync.threshold.time.ms | COUNTER |
| Records the maximum lag value from among all Federated repositories in milliseconds. | COUNTER |
| Records the total number of mirrors that have a sync lag larger than the default threshold. If no mirrors have a log above the threshold, the recorded value will be 0. | COUNTER |
| Records the total number of distinct Federated repositories that have a sync lag larger than the default threshold. This value will always be equal to or less than the Number of Mirrors Exceeding the Sync Threshold value. If no repositories have a log above the threshold, the recorded value will be 0. | COUNTER |
| Records the number of disabled mirrors, including disabled Federated repositories from the JPD in context as well as disabled remote Federated repositories that are part of any existing Federation from the JPD in context. | COUNTER |
| Records the number of Federated repositories that have the indicated status. Possible statuses include: healthy, pending full sync, full sync running, out of sync, exhausted, disabled |
Access Metrics
Use the following cURL command to retrieve access metrics:
curl -H "Authorization: Bearer TOKEN" http://{artifactory_url}/access/api/v1/metrics
| Metric | Description | Prometheus Metric Type |
|---|---|---|
jfac_runtime_heap | Records the Access runtime heap metrics | GAUGE |
jfac_db_connections | Records the Access database connection metrics | GAUGE |
jfac_slow_queries | Records the metrics for slow Access queries. | GAUGE |
jfac_runtime_heap_freememory_bytes | Records the JVM free memory in bytes | GAUGE |
jfac_runtime_heap_maxmemory_bytes | Records the JVM maximum memory in bytes | GAUGE |
jfac_runtime_heap_processors_bytes | Records the number of processors available to the JVM | GAUGE |
jfac_runtime_heap_totalmemory_bytes | Records the JVM total memory in bytes | GAUGE |
jfac_observers_cancelled_total | Records the total of cancelledgRPC server streams | COUNTER |
jfac_observers_connected_total | Records the total of connected gRPC server streams | COUNTER |
jfac_observers_connected_current_total | Records the total of currently connected gRPC Server streams | GAUGE |
jfac_config_size_bytes | Records the size of the Access Config YAML file in bytes | GAUGE |
jfac_db_connections_active_total | Records the number of active connections | GAUGE |
jfac_db_connections_awaiting_total | Records the number of threads awaiting connection | GAUGE |
jfac_db_connections_idle_total | Records the number of idle connections | GAUGE |
jfac_db_connections_max_pool_size_total | Records the database connections' maximum pool size | GAUGE |
jfac_db_connections_min_idle_total | Records the database connection's minimum idle size | GAUGE |
jfac_tomcat_connections_usage_total | Records the Access Tomcat connections usage | COUNTER |
jfac_grpc_thread_completed_tasks_total | Records the number of completed gRPC requests | COUNTER |
jfac_grpc_thread_max_concurrent_tasks_total | Records the maximum number of concurrent gRPC requests handled | GAUGE |
jfac_grpc_thread_pending_tasks_total | Records the number of gRPC requests waiting in the queue | GAUGE |
jfac_grpc_thread_running_tasks_total | Records the Number of gRPC requests in progress | GAUGE |
jfac_grpc_thread_total_tasks_total | Records the total number of gRPC requests | COUNTER |
app_disk_free_bytes | Records the number of free bytes on the app home directory disk device | GAUGE |
app_disk_used_bytes | Records the number of bytes used on the app home directory disk device | GAUGE |
jfac_authentication_count | Records the user authentication count | COUNTER |
jfac_federation_count | Records the number of Federation publish count | COUNTER |
jfac_federation_duration_seconds_count | Records the total number of Federation events | COUNTER |
jfac_federation_duration_seconds_sum | Records the average time taken to publish a Federation event | GAUGE |
Event Metrics
Use the following cURL command to retrieve event metrics:
curl -H "Authorization: Bearer TOKEN" http://{artifactory_url}/event/api/v1/metrics
Metric | Description | Prometheus Metric Type |
|---|---|---|
| Records metrics about time to prepare application trigger in seconds. | COUNTER |
| Records metrics about the number of times an application triggers was prepared. | COUNTER |
| Records the total number of mirrors that have a sync lag larger than the default threshold. If no mirrors have a log above the threshold, the recorded value will be 0. | COUNTER |
| Records the total number of calls to the target. | COUNTER |
| Records the total trigger time in seconds. | COUNTER |
| Records the total trigger time in seconds for all the triggers. | COUNTER |
Worker Metrics
Use the following cURL command to retrieve Worker metrics:
curl -H "Authorization: Bearer TOKEN" http://{artifactory_url}/workers/api/v1/metrics
| Metric | Description | Prometheus Metric Type |
|---|---|---|
jfwks_execution_count_total | The total number of worker executions. | GAUGE |
jfwks_execution_cpu_time_total | The accumulated CPU time for worker executions. | GAUGE |
jfwks_execution_failure_count | The total number of worker execution failures. | COUNTER |
jfwks_execution_memory_total | The accumulated memory usage by workers. | GAUGE |
jfwks_execution_processing_count | The number of worker executions in progress. | COUNTER |
jfwks_execution_success_count | The number of successful worker executions. | COUNTER |
jfwks_execution_time_total | The accumulate worker execution time. | GAUGE |
jfwks_tenants_count_total | The total number of tenants being managed. | GAUGE |
jfwks_workers_count_total | The total number of workers. | GAUGE |
Topology Metrics
Use the following cURL command to retrieve topology metrics:
curl -H "Authorization: Bearer TOKEN" http://{artifactory_url}/topology/api/v1/metrics
| Metric | Description | Prometheus Metric Type |
|---|---|---|
topology_cache_evict_count_total | The total number of items that have been evicted from the cache. | COUNTER |
topology_cache_failure_load_count_total | The total number of items that failed to load to the cache. | COUNTER |
topology_cache_hit_count_total | The total number of times the requested item was found in the cache (cache hit count). | COUNTER |
topology_cache_hit_rate_total | The overall cache hit rate for all items. | GAUGE |
topology_cache_load_count_total | The total cache load count. | COUNTER |
topology_cache_load_total_time_seconds | The total accumulated cache load time. | GAUGE |
topology_cache_miss_count_total | The total number of time the requested item was not found in the cache (cache miss count). | COUNTER |
topology_cache_success_load_count_total | The total number of items that loaded successfully from the cache. | COUNTER |
topology_database_migration_status_failed_db_migrations_total | The total number of failed database migrations. | COUNTER |
topology_database_migration_status_successful_db_migrations_total | The total number of successful database migrations. | COUNTER |
topology_db_connections_active_connections_total | The total number of active database connections. | GAUGE |
topology_db_connections_awaiting_connections_total | The total number of awaiting database connections. | GAUGE |
topology_db_connections_idle_connections_total | The total number of idle database connections. | GAUGE |
topology_db_connections_total_connections_total | The total number of database connections. | GAUGE |
topology_tenant_registry_listeners_count_total | The total number of tenants being managed. | COUNTER |
JFConnect Metrics
Use the following cURL command to retrieve JFConnect metrics:
curl -H "Authorization: Bearer TOKEN" http://{artifactory_url}/jfconnect/api/v1/metrics
| Metric | Description | Prometheus Metric Type |
|---|---|---|
jfcon_app_disk_used_bytes | Records the number of disk bytes used for the application. | GAUGE |
jfcon_app_disk_free_bytes | Records the number of disk bytes available for the application. | GAUGE |
jfcon_app_self_metrics_calc_seconds | Total time taken to collect all the metrics. | GAUGE |
jfcon_app_self_metrics_total | Total count of the collected metrics. | GAUGE |
jfcon_go_memstats_heap_in_use_bytes | The amount of heap memory (in bytes) currently being used by the application. | GAUGE |
jfcon_go_memstats_heap_allocated_bytes | The amount of heap memory (in bytes) currently allocated to the objects. | GAUGE |
jfcon_go_memstats_heap_idle_bytes | The amount of memory that was allocated but is currently not being used by the application. | GAUGE |
jfcon_go_memstats_heap_objects_total | The number of allocated heap objects. | GAUGE |
jfcon_go_memstats_heap_reserved_bytes | Amount of memory obtained from OS for heap. | GAUGE |
jfcon_go_memstats_gc_cpu_fraction_ratio | Fraction of the program's available CPU time used by the Garbage Collector (GC) since the program started. | GAUGE |
jfcon_go_routines_total | Number of go routines that currently exist. | GAUGE |
jfcon_sys_cpu_ratio | CPU usage percentage of the first CPU core during a 50-millisecond interval. | GAUGE |
jfcon_sys_load_1 | Average load of the host in the last minute. | GAUGE |
jfcon_sys_load_5 | Average load of the host in the last 5 minutes. | GAUGE |
jfcon_sys_load_15 | Average load of the host in the last 15 minutes. | GAUGE |
jfcon_sys_memory_used_bytes | Virtual memory that is used by the host. | GAUGE |
jfcon_sys_memory_free_bytes | Virtual memory that is not used by the host. | GAUGE |
Router Metrics
Use the following cURL command to retrieve router metrics:
curl -H "Authorization: Bearer TOKEN" http://{artifactory_url}/router/api/v1/metrics
| Metric | Description | Prometheus Metric Type |
|---|---|---|
jfrou_traefik_config_reload_total | The total number of success router configuration reloads. | COUNTER |
jfrou_traefik_config_reload_total_failure | The total number of router configuration reload failures. | COUNTER |
jfrou_traefik_config_reload_lastSuccessTimestamp | The timestamp of the last successful router configuration reload. | GAUGE |
jfrou_traefik_config_reload_lastFailureTimestamp | The timestamp of the last unsuccessful router configuration reload. | GAUGE |
jfrou_traefik_entrypoint_requests_total | Total number of router entry-point requests. | COUNTER |
jfrou_traefik_entrypoint_requests_tls_total | Total number of router TLS (Transport Layer Security) entry-point requests. | COUNTER |
jfrou_traefik_entrypoint_request_duration | Duration of router entry-point requests. | GAUGE |
jfrou_traefik_entrypoint_connections_open | Number of open router entry-point requests. | COUNTER |
jfrou_traefik_entrypoint_requests_bytes_total | Total size (in bytes) of router entry-point requests. | COUNTER |
jfrou_traefik_entrypoint_responses_bytes_total | Total size (in bytes) of router entry-point responses. | COUNTER |
jfrou_traefik_router_requests_total | Total number of router requests. | COUNTER |
jfrou_traefik_router_requests_tls_total | Total number of router TLS (Transport Layer Security) requests. | COUNTER |
jfrou_traefik_router_request_duration | Duration of router requests. | GAUGE |
jfrou_traefik_router_connections_open | Number of open router requests. | COUNTER |
jfrou_traefik_router_requests_bytes_total | Total size (in bytes) of router requests. | COUNTER |
jfrou_traefik_router_responses_bytes_total | Total size (in bytes) of router responses. | COUNTER |
jfrou_traefik_service_requests_total | Total number of service requests. | COUNTER |
jfrou_traefik_service_requests_tls_total | Total number of service TLS (Transport Layer Security) requests. | COUNTER |
jfrou_traefik_service_request_duration | Duration of service requests. | GAUGE |
jfrou_traefik_service_retries_total | Total number of service retries. | COUNTER |
jfrou_traefik_service_connections_open | Number of open service connections. | GAUGE |
jfrou_traefik_service_requests_bytes_total | Total size (in bytes) of service requests. | COUNTER |
jfrou_traefik_service_responses_bytes_total | Total size (in bytes) of service responses. | COUNTER |
Observability Service Metrics
Use the following cURL command to retrieve observability metrics:
curl -H "Authorization: Bearer TOKEN" http://{artifactory_url}/observability/api/v1/metrics
| Metric | Description | Prometheus Metric Type |
|---|---|---|
jfob_app_disk_used_bytes | Records the number of disk bytes used for the application. | GAUGE |
jfob_app_disk_free_bytes | Records the number of disk bytes available for the application. | GAUGE |
jfob_app_self_metrics_calc_seconds | Total time taken to collect all the metrics. | GAUGE |
jfob_app_self_metrics_total | Total count of the collected metrics. | GAUGE |
jfob_go_memstats_heap_in_use_bytes | The amount of heap memory (in bytes) currently being used by the application. | GAUGE |
jfob_go_memstats_heap_allocated_bytes | The amount of heap memory (in bytes) currently allocated to the objects. | GAUGE |
jfob_go_memstats_heap_idle_bytes | The amount of memory that was allocated but is currently not being used by the application. | GAUGE |
jfob_go_memstats_heap_objects_total | The number of allocated heap objects. | GAUGE |
jfob_go_memstats_heap_reserved_bytes | Amount of memory obtained from OS for heap. | GAUGE |
jfob_go_memstats_gc_cpu_fraction_ratio | Fraction of the program's available CPU time used by the Garbage Collector (GC) since the program started. | GAUGE |
jfob_go_routines_total | Number of go routines that currently exist. | GAUGE |
jfob_sys_cpu_ratio | CPU usage percentage of the first CPU core during a 50-millisecond interval. | GAUGE |
jfob_sys_load_1 | Average load of the host in the last minute. | GAUGE |
jfob_sys_load_5 | Average load of the host in the last 5 minutes. | GAUGE |
jfob_sys_load_15 | Average load of the host in the last 15 minutes. | GAUGE |
jfob_sys_memory_used_bytes | Virtual memory that is used by the host. | GAUGE |
jfob_sys_memory_free_bytes | Virtual memory that is not used by the host. | GAUGE |
Xray Metrics
The Xray Metrics REST API returns the following metrics:
Metric | Description |
|---|---|
| Seconds that passed since the last Xray DB sync started running |
| DB sync total running time |
| Seconds that passed since completed persisting new updates to the database |
| Seconds that passed since DB sync completed sending all impact analysis messages |
| Total number of Xray scanned artifacts by package type Note: Package type is a label |
| Total number of Xray scanned components by package type Note: Package type is a label |
| Seconds that passed since Xray server has started on the particular node |
Xray Metrics Logs
The artifactory_metrics.log will contain system metrics such as:
- Total disk space used
- Total disk space free
- Time CPU is used by the process
- JVM available memory
- JVM number of processors
- DB number of active, idle, max and min connections
- HTTP number of available, leased, pending and max connections
- Xray DB sync running time
- Xray total number of scanned artifacts and components
- Xray server start time on a node
The artifactory_metrics_events.log will contain deduplicated metrics related to an event such as a GC run.
Pipelines Metrics
The following are the three metric log files created for Pipelines:
-
Open Metrics Format:
- Pipeline API Metrics:
$JF_PRODUCT_HOME/var/log/api-metrics.log
- Pipeline API Metrics:
-
Non-Open Metrics Format:
- Pipeline Reqsealer Event Metrics:
$JF_PRODUCT_HOME/var/log/reqsealer-activity-event.log - Pipeline Sync Event Metrics:
$JF_PRODUCT_HOME/var/log/pipelinesync-activity-event.log
- Pipeline Reqsealer Event Metrics:
Pipelines Open Metrics Format
The Get Pipelines Metrics Data REST API returns the following metrics in Open Metrics format.
Metric | Description |
|---|---|
sys_cpu_user_seconds | User CPU usage time for thethe pipelineprocess in seconds |
sys_cpu_system_seconds | System CPU usage time forthe pipelineprocess in seconds |
sys_cpu_total_seconds | Total CPU usage time for the pipeline process in seconds |
nodejs_heap_read_only_space_total | Total size allocated for V8 heap segment “read_only_space” |
nodejs_heap_read_only_space_used_total | Used size for V8 heap segment “read_only_space” |
nodejs_heap_new_space_total | Total size allocated for V8 heap segment “new_space” |
nodejs_heap_new_space_used_total | Used size for V8 heap segment “new_space” |
nodejs_heap_old_space_total | Total size allocated for V8 heap segment “old_space” |
nodejs_heap_old_space_used_total | Used size for V8 heap segment “old_space” |
nodejs_heap_code_space_total | Total size allocated for V8 heap segment “code_space” |
nodejs_heap_code_space_used_total | Used size for V8 heap segment “code_space” |
nodejs_heap_map_space_total | Total size allocated for V8 heap segment “max_space” |
nodejs_heap_map_space_used_total | Used size for V8 heap segment “max_space” |
nodejs_heap_large_object_space_total | Total size allocated for V8 heap segment “large_object_space” |
nodejs_heap_large_object_space_used_total | Used size for V8 heap segment “large_object_space” |
nodejs_heap_code_large_object_space_total | Total size allocated for V8 heap segment “code_large_object_space” |
nodejs_heap_code_large_object_space_used_total | Used size for V8 heap segment “code_large_object_space” |
nodejs_heap_new_large_object_space_total | Total size allocated for V8 heap segment “new_large_object_space” |
nodejs_heap_new_large_object_space_used_total | Used size for V8 heap segment “new_large_object_space” |
sys_memory_free_bytes | Host free virtual memory |
sys_memory_total_bytes | Host total virtual memory |
jfpip_pipelines_per_project_count
| Number of Pipelines Per Project |
jfpip_pipelines_count
| Number of Total Pipelines |
jfpip_queue_messages_total_count | Messages Count for the Queue |
jfpip_nodepool_provisionstatus_success_count | Number of node with SUCCESS provisioned status |
jfpip_nodepool_provisionstatus_cached_count | Number of node with CACHED provisioned status |
jfpip_nodepool_provisionstatus_processing_count | Number of node with PROCESSING provisioned status |
jfpip_nodepool_provisionstatus_failure_count | Number of node with FAILURE provisioned status |
jfpip_nodepool_provisionstatus_waiting_count | Number of node with WAITING provisioned status |
jfpip_concurrent_active_builds_count | Active Concurrent Build Count |
jfpip_concurrent_allowed_builds_count | Allowed Concurrent Build Count |
jfpip_concurrent_available_builds_count | Available Concurrent Build Count |
Note
All
node.jsheap size statistics are captured using the v8.getHeapSpaceStatistics() API.
The api-metrics.logwill contain system metrics such as:
- Total disk space used
- Total disk space free
- Time CPU is used by the process
- Node JS Heap related information
Non-Open Metrics Format
In addition to the metrics mentioned about, Pipelines supports the following custom activity-based Event Metrics:
Pipeline Run & Step Events: For every pipeline run, two types of metrics can be found in
reqsealer-activity-event.log. One entry for each step status and one entry for overall pipeline status.{"timestamp":"2022-04-05T08:30:10.088Z","startedAt":"2022-04-05T08:30:03.986Z","queuedAt":"2022-04-05T08:30:03.010Z","domain":"step","pipelineName":"my_pipeline_2","triggeredBy":"admin","branchName":"master","stepName":"p2_s1","runNumber":2,"status":"success","durationMillis":6102,"outputArtifactsCount":0,"outputResourcesCount":0} {"timestamp":"2022-04-05T08:30:10.088Z","startedAt":"2022-04-05T08:30:03.986Z","domain":"run","pipelineName":"my_pipeline_2","triggeredBy":"admin","branchName":"master","runNumber":2,"status":"success","durationMillis":6102}Pipeline Sync Events: For every pipeline sync activity, the following metrics can be found in
pipelinesync-activity-event.log.{"timestamp":"2022-04-06T10:00:45.673Z","domain":"pipelineSync","pipelineSourceName":"Sample","repositoryName":"a-0908/myFirstRepo","branch":"master","status":"success","durationMillis":10498}Webhook Events (Pipelines 1.25 and above): For every pipeline sync activity, the following metrics can be found in
pipelinesync-activity-event.log.{"timestamp":"2022-06-10T16:29:29.894Z","domain":"webhook","status":"success","durationMillis":533,"webhookId":"11819184-2d88-4180-92da-aa13092d0ca4","integration":"my_bitbucket","source":"gitrepo","eventType":"branchCreated","branchName":"kt4","repositoryName":"krishnakadiyam/jfrog-pipelines-second"} {"timestamp":"2022-06-10T16:29:40.845Z","domain":"webhook","status":"success","durationMillis":323,"webhookId":"6d098e3a-7b4b-427c-ba53-b1174baeeabd","integration":"my_bitbucket","source":"gitrepo","eventType":"branchDeleted","branchName":"kt4","repositoryName":"krishnakadiyam/jfrog-pipelines-second"} {"timestamp":"2022-06-13T05:29:55.062Z","domain":"webhook","status":"success","durationMillis":234,"webhookId":"2d4d698b-b083-42fd-a28e-670d9cec4c1a","integration":"glRepo","source":"gitrepo","eventType":"tag","repositoryName":"jfrog-pipelines-second","tagName":"refs/tags/kt4"}Pipelines Integrations Events (Pipelines 1.29 and above): For every integrations activity, you will find the following metrics in
api-activity-event.log.{"timestamp":"2022-11-10T10:36:50.004Z","domain":"projectIntegrations","eventType":"create","status":"success","integrationName":"iwh","integrationId":1,"integrationType":"incomingWebhook","createdBy":"admin","updatedBy":"admin","durationMillis":188} {"timestamp":"2022-11-10T10:37:43.423Z","domain":"projectIntegrations","eventType":"update","status":"success","integrationName":"iwh","integrationId":1,"integrationType":"incomingWebhook","createdBy":"admin","updatedBy":"admin","durationMillis":38} {"timestamp":"2022-11-10T10:37:55.901Z","domain":"projectIntegrations","eventType":"delete","status":"success","integrationName":"iwh","integrationId":"1","integrationType":"incomingWebhook","createdBy":"admin","updatedBy":"admin","durationMillis":85}
Usage Example - Prometheus
Update the prometheus.yml file to add a scrape job. Update the following configuration with the adequate values:
job_name: Use a unique name among other scrape jobs. All metrics collected through this job will have automatically a ‘job’ label with this value added to itusername: The name of an admin userpassword: The admin passwordtargets: The URL of the Artifactory node.
For more information about Prometheus scrape job configuration, see here.
Updated 22 days ago
