mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-25 18:54:30 +00:00
(Feat) DataDog Logger - Add HOSTNAME
and POD_NAME
to DataDog logs (#7189)
* add unit test for test_datadog_static_methods * docs dd vars * test_datadog_payload_environment_variables * test_datadog_static_methods * docs env vars * fix table
This commit is contained in:
parent
b237854d54
commit
b45777c268
5 changed files with 161 additions and 81 deletions
|
@ -382,9 +382,10 @@ async def test_datadog_payload_environment_variables():
|
|||
assert (
|
||||
dd_payload["service"] == "test-service"
|
||||
), "Incorrect service in payload"
|
||||
|
||||
assert (
|
||||
dd_payload["ddtags"]
|
||||
== "env:test-env,service:test-service,version:1.0.0"
|
||||
"env:test-env,service:test-service,version:1.0.0,HOSTNAME:"
|
||||
in dd_payload["ddtags"]
|
||||
), "Incorrect tags in payload"
|
||||
|
||||
except Exception as e:
|
||||
|
@ -443,3 +444,57 @@ async def test_datadog_payload_content_truncation():
|
|||
assert (
|
||||
len(str(message_dict["response"])) < 10_100
|
||||
), "response not truncated correctly"
|
||||
|
||||
|
||||
def test_datadog_static_methods():
|
||||
"""Test the static helper methods in DataDogLogger class"""
|
||||
|
||||
# Test with default environment variables
|
||||
assert DataDogLogger._get_datadog_source() == "litellm"
|
||||
assert DataDogLogger._get_datadog_service() == "litellm-server"
|
||||
assert DataDogLogger._get_datadog_hostname() is not None
|
||||
assert DataDogLogger._get_datadog_env() == "unknown"
|
||||
assert DataDogLogger._get_datadog_pod_name() == "unknown"
|
||||
|
||||
# Test tags format with default values
|
||||
assert (
|
||||
"env:unknown,service:litellm,version:unknown,HOSTNAME:"
|
||||
in DataDogLogger._get_datadog_tags()
|
||||
)
|
||||
|
||||
# Test with custom environment variables
|
||||
test_env = {
|
||||
"DD_SOURCE": "custom-source",
|
||||
"DD_SERVICE": "custom-service",
|
||||
"HOSTNAME": "test-host",
|
||||
"DD_ENV": "production",
|
||||
"DD_VERSION": "1.0.0",
|
||||
"POD_NAME": "pod-123",
|
||||
}
|
||||
|
||||
with patch.dict(os.environ, test_env):
|
||||
assert DataDogLogger._get_datadog_source() == "custom-source"
|
||||
print(
|
||||
"DataDogLogger._get_datadog_source()", DataDogLogger._get_datadog_source()
|
||||
)
|
||||
assert DataDogLogger._get_datadog_service() == "custom-service"
|
||||
print(
|
||||
"DataDogLogger._get_datadog_service()", DataDogLogger._get_datadog_service()
|
||||
)
|
||||
assert DataDogLogger._get_datadog_hostname() == "test-host"
|
||||
print(
|
||||
"DataDogLogger._get_datadog_hostname()",
|
||||
DataDogLogger._get_datadog_hostname(),
|
||||
)
|
||||
assert DataDogLogger._get_datadog_env() == "production"
|
||||
print("DataDogLogger._get_datadog_env()", DataDogLogger._get_datadog_env())
|
||||
assert DataDogLogger._get_datadog_pod_name() == "pod-123"
|
||||
print(
|
||||
"DataDogLogger._get_datadog_pod_name()",
|
||||
DataDogLogger._get_datadog_pod_name(),
|
||||
)
|
||||
|
||||
# Test tags format with custom values
|
||||
expected_custom_tags = "env:production,service:custom-service,version:1.0.0,HOSTNAME:test-host,POD_NAME:pod-123"
|
||||
print("DataDogLogger._get_datadog_tags()", DataDogLogger._get_datadog_tags())
|
||||
assert DataDogLogger._get_datadog_tags() == expected_custom_tags
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue