Artifactory Federation Service Custom Metrics

JFrog Artifactory Documentation

Products
JFrog Artifactory
Content Type
User Guide
ft:sourceType
Paligo

This section outlines the custom metrics collected by the standalone Artifactory Federation service.

Metrics Granularity

Due to potential performance overhead, custom metrics are collected by default at the tenant level. However, selected metrics can collect data at the repo key or member level if predefined thresholds are exceeded.

Warning

These granular metrics should be implemented and used with caution due to their potential performance impact.

Available Metrics

Custom metrics for the Artifactory Federation service are divided into the following categories:

Lag Metrics

The Artifactory Federation service includes the lag metrics described in the table below.

Name

Description

Type

Granularity

jfrtfs_worker_lag_seconds

 

The lag time when transferring events to the remote member.

The calculation:

Lag = Current time - Trailing baseline time

Trailing baseline time =

  • Last processed event time

    or

  • Trailing stream detection time (when the stream takes longer than the grace period to process the events it receives)

Gauge

Per tenant

pq_queue_lag

{queue_name="jfrog_federation_service_queue"}

The lag of the Artifactory Federation queue (in milliseconds).

Gauge

Per tenant

pq_queue_events_left

{queue_name="jfrog_federation_service_queue"

The number of events that remain to be handled to overcome the lag.

Counter

Per tenant

Event Metrics

The Artifactory Federation service includes the event metrics described in the table below.

Name

Description

Type

Granularity

jfrtfs_events_received_from_artifactory_total

The total number of events received by the Federation service from Artifactory.

Counter

Per tenant

jfrtfs_events_removed_in_filter_total

The total number of deduped (deduplicated) events filtered out of the queue.

For example, imagine an artifact with two events in the queue. In the first event, the artifact is updated and in the second it is deleted. The first event is removed from the queue to streamline the process, and only the deletion event is sent to the remote member.

Counter

Per tenant

jfrtfs_events_received_from_remote_rtfs_total

The total number of events received by the tenant from remote members.

Counter

Per tenant

jfrtfs_events_sent_to_remote_instance_total

The number of events sent from the tenant to remote members.

Note

This metric includes both members running the Artifactory Federation service and members running the legacy Federation service.

Counter

Per tenant

jfrtfs_repo_management_message_blob_duration_between_partition_creations

Tracks the duration between the creation of partitions in themessage_blob table in the RTFS DB.

Gauge

Per Tenant

jfrtfs_repo_management_events_duration_between_partition_creations

Track the duration between the creation of partitions in the events table in the RTFS DB.

Gauge

Per Tenant

Full Sync Metrics

The Artifactory Federation service includes the Full Sync metrics described in the table below.Federated Repository Full Sync

Name

Description

Type

Granularity

jfrtfs_full_sync_e2e_member_execution_seconds_count

The total number of Full Sync operations that have been executed.

Counter

Per Tenant / Member

jfrtfs_full_sync_e2e_member_execution_seconds_sum

The total end-to-end duration of all Full Sync operations.

Configure the threshold using the property: rfts.full.sync.execution.time.threshold.min

(default=30 min.)

Timer

Per Tenant / Member

(per member if a single Full Sync operation exceeds the threshold)

jfrtfs_full_sync_sort_rate_artifact_per_ms

The file list sort rate (in milliseconds).

The rate is calculated by dividing the number of artifacts in the file list by the total sort time.

Configure the threshold using the property:

rtfs.file.list.sort.rate.threshold.ms.per.artifact

(default = 10000 ms)

Gauge

Global

jfrtfs_full_sync_artifact_events_propagation_rate

The artifact event propagation rate in milliseconds.

The rate is calculated by dividing the number of artifact events sent to the remote member by the total amount of time needed to propagate them (i.e. elapsed time between sending events and receiving an OK response from the remote member).

Gauge

Global

jfrtfs_full_sync_file_list_artifacts

The total number of artifacts in the file list of the local member.

Configure the threshold using the property:

rtfs.file.list.size.metrics.threshold

(default = 1 million)

Counter

Per Tenant / Member (if the threshold is exceeded)

jfrtfs_full_sync_file_list_artifacts_rate_artifact_per_ms

The file list compilation rate in milliseconds.

The rate is calculated by dividing the number of artifacts in the file list by the total amount of time to get the file list.

Configure the threshold using the property:

rtfs.file.list.process.rate.threshold.ms.per.artifact

(default = 5 sec.)

Gauge

Global

Member State Metrics

The Artifactory Federation service includes the member state metrics described in the table below.

Name

Description

Type

Granularity

jfrtfs_auto_healing_recovered_members

The total number of recovery operations that have been performed using the auto-healing process. For example, recovery performed once on 5 members is equivalent to recovery being performed on the same member 5 times.

Counter

Global

jfrtfs_members_in_status

The current number of members in the following states:

  • FS_RUNNING

  • PENDING_FS

  • IMPORT_IN_PROGRESS

  • ERROR_GENERIC

  • ERROR_OUT_OF_SYNC

  • ERROR_INACTIVE

Disabled members are filtered out.

Gauge

Per Tenant

jfrtfs_disabled_members

The total number of members disabled locally by the user.

Counter

Per Tenant

Miscellaneous Metrics

The Artifactory Federation service includes the additional metrics described in the table below.

Name

Description

Type

Granularity

jfrt_rpc_response_from_rtfs_total

{statusCode!=200}

The total number of HTTP errors between Artifactory and the Artifactory Federation service.

Counter

Global

jfrtfs_db_failed_query_count_total

The total number of failed database queries in the Artifactory Federation service.

Counter

Global

jfrtfs_db_failed_query_count_metric

The total number of failed database queries.

Counter

Global

jfrtfs_db_query_duration_metric

The amount of time that was needed to execute a specific query.

Counter

Depends on query

jfrtfs_http_client_available

The percentage of available HTTP client connections.

Gauge

Global

jfrtfs_http_client_leased

The percentage of leased HTTP client connections.

Gauge

Global

jfrtfs_http_client_pending

The number of pending HTTP client connections.

Counter

Global