(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:
Ishaan Jaff 2024-12-12 12:06:26 -08:00 committed by GitHub
parent b237854d54
commit b45777c268
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 161 additions and 81 deletions

View file

@ -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