Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions celerdata/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# CHANGELOG - celerdata

## 1.3.0 / 2026-05-28

***Added***:

* Add the `celerdata.fe.slow_lock_held_time_ms` and `celerdata.fe.slow_lock_wait_time_ms` summary metrics, surfacing FE slow-lock held time and wait time (introduced by StarRocks/starrocks#66027)

## 1.2.1 / 2025-10-01

***Fixed***:
Expand Down
2 changes: 1 addition & 1 deletion celerdata/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ To collect StarRocks [metrics][9] and logs:
2. Install the CelerData check on your host with the following command:

```shell
datadog-agent integration install -t datadog-celerdata==1.2.1
datadog-agent integration install -t datadog-celerdata==1.3.0
```

### Configuration
Expand Down
2 changes: 1 addition & 1 deletion celerdata/datadog_checks/celerdata/__about__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "1.2.1"
__version__ = "1.3.0"
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ def instance_enable_health_service_check():
return True


def instance_enable_legacy_tags_normalization():
return True


def instance_histogram_buckets_as_distributions():
return False

Expand Down
14 changes: 13 additions & 1 deletion celerdata/datadog_checks/celerdata/config_models/instance.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,19 @@
from typing import Any, Optional, Union

from pydantic import BaseModel, ConfigDict, Field, field_validator, model_validator
from typing_extensions import Literal

from datadog_checks.base.utils.functions import identity
from datadog_checks.base.utils.models import validation

from . import defaults, validators


SECURE_FIELD_NAMES = frozenset(
['auth_token', 'kerberos_cache', 'kerberos_keytab', 'tls_ca_cert', 'tls_cert', 'tls_private_key']
)


class AuthToken(BaseModel):
model_config = ConfigDict(
arbitrary_types_allowed=True,
Expand Down Expand Up @@ -93,6 +99,7 @@ class InstanceConfig(BaseModel):
disable_generic_tags: Optional[bool] = None
empty_default_hostname: Optional[bool] = None
enable_health_service_check: Optional[bool] = None
enable_legacy_tags_normalization: Optional[bool] = None
exclude_labels: Optional[tuple[str, ...]] = None
exclude_metrics: Optional[tuple[str, ...]] = None
exclude_metrics_by_labels: Optional[MappingProxyType[str, Union[bool, tuple[str, ...]]]] = None
Expand All @@ -105,7 +112,7 @@ class InstanceConfig(BaseModel):
ignore_connection_errors: Optional[bool] = None
ignore_tags: Optional[tuple[str, ...]] = None
include_labels: Optional[tuple[str, ...]] = None
kerberos_auth: Optional[str] = None
kerberos_auth: Optional[Literal['required', 'optional', 'disabled']] = None
kerberos_cache: Optional[str] = None
kerberos_delegate: Optional[bool] = None
kerberos_force_initiate: Optional[bool] = None
Expand Down Expand Up @@ -158,6 +165,11 @@ def _validate(cls, value, info):
field_name = field.alias or info.field_name
if field_name in info.context['configured_fields']:
value = getattr(validators, f'instance_{info.field_name}', identity)(value, field=field)

if info.field_name in SECURE_FIELD_NAMES:
validation.security.check_field_trusted_provider(
info.field_name, value, info.context.get('security_config')
)
else:
value = getattr(defaults, f'instance_{info.field_name}', lambda: value)()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ instances:
## @param exclude_metrics - list of strings - optional
## A list of metrics to exclude, with each entry being either
## the exact metric name or a regular expression.
##
## In order to exclude all metrics but the ones matching a specific filter,
## you can use a negative lookahead regex like:
## - ^(?!foo).*$
Expand Down
6 changes: 6 additions & 0 deletions celerdata/datadog_checks/celerdata/metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,12 @@
"starrocks_fe_rps": "fe.rps",
"starrocks_fe_safe_mode": "fe.safe_mode",
"starrocks_fe_scheduled_tablet_num": "fe.scheduled_tablet_num",
"starrocks_fe_slow_lock_held_time_ms": "fe.slow_lock_held_time_ms",
"starrocks_fe_slow_lock_held_time_ms_count": "fe.slow_lock_held_time_ms.count",
"starrocks_fe_slow_lock_held_time_ms_sum": "fe.slow_lock_held_time_ms.sum",
"starrocks_fe_slow_lock_wait_time_ms": "fe.slow_lock_wait_time_ms",
"starrocks_fe_slow_lock_wait_time_ms_count": "fe.slow_lock_wait_time_ms.count",
"starrocks_fe_slow_lock_wait_time_ms_sum": "fe.slow_lock_wait_time_ms.sum",
"starrocks_fe_slow_query": "fe.slow_query",
"starrocks_fe_snmp": "fe.snmp",
"starrocks_fe_table_num": "fe.table_num",
Expand Down
6 changes: 6 additions & 0 deletions celerdata/metadata.csv
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,12 @@ celerdata.fe.shortcircuit_latency_ms.quantile,gauge,,,,,0,celerdata,,
celerdata.fe.shortcircuit_latency_ms.sum,count,,,,,0,celerdata,,
celerdata.fe.shortcircuit_query.count,count,,,,Total number of shortcircuit queries,0,celerdata,,
celerdata.fe.shortcircuit_rpc.count,count,,,,Total number of shortcircuit RPCs,0,celerdata,,
celerdata.fe.slow_lock_held_time_ms.count,count,,,,Number of slow lock samples on which lock held time is recorded,0,celerdata,,
celerdata.fe.slow_lock_held_time_ms.quantile,gauge,,,,Quantiles (ms) of lock held time when slow locks are detected,0,celerdata,,
celerdata.fe.slow_lock_held_time_ms.sum,count,,,,Sum (ms) of lock held time across slow lock samples,0,celerdata,,
celerdata.fe.slow_lock_wait_time_ms.count,count,,,,Number of slow lock samples on which lock wait time is recorded,0,celerdata,,
celerdata.fe.slow_lock_wait_time_ms.quantile,gauge,,,,Quantiles (ms) of lock wait time when slow locks are detected,0,celerdata,,
celerdata.fe.slow_lock_wait_time_ms.sum,count,,,,Sum (ms) of lock wait time across slow lock samples,0,celerdata,,
celerdata.fe.slow_query.count,count,,,,Total number of slow queries,0,celerdata,,
celerdata.fe.snmp,gauge,,,,All TCP packets that were retransmitted,0,celerdata,,
celerdata.fe.starmgr_journal_replay_ops.count,count,,,,Number of journals replayed,0,celerdata,,
Expand Down
2 changes: 1 addition & 1 deletion celerdata/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ classifiers = [
"Topic :: System :: Monitoring",
]
dependencies = [
"datadog-checks-base>=36.16.0",
"datadog-checks-base>=37.21.0",
]
dynamic = [
"version",
Expand Down
Loading