Skip to content

Commit ec04a9a

Browse files
committed
validator usage
1 parent 5d35331 commit ec04a9a

File tree

2 files changed

+6
-21
lines changed

2 files changed

+6
-21
lines changed

guardrails/validator_service/async_validator_service.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
PassResult,
1010
ValidationResult,
1111
)
12+
from guardrails.telemetry.hub_tracing import async_trace
1213
from guardrails.telemetry.validator_tracing import trace_async_validator
1314
from guardrails.types import ValidatorMap, OnFailAction
1415
from guardrails.classes.validation.validator_logs import ValidatorLogs
@@ -23,6 +24,9 @@
2324

2425

2526
class AsyncValidatorService(ValidatorServiceBase):
27+
@async_trace(
28+
name="/validator_usage", origin="AsyncValidatorService.execute_validator"
29+
)
2630
async def execute_validator(
2731
self,
2832
validator: Validator,

guardrails/validator_service/validator_service_base.py

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
)
1313
from guardrails.errors import ValidationError
1414
from guardrails.merge import merge
15+
from guardrails.telemetry.hub_tracing import trace
1516
from guardrails.types import OnFailAction
16-
from guardrails.utils.hub_telemetry_utils import HubTelemetry
1717
from guardrails.classes.validation.validator_logs import ValidatorLogs
1818
from guardrails.actions.reask import FieldReAsk
1919
from guardrails.telemetry import trace_validator
@@ -43,6 +43,7 @@ def __init__(self, disable_tracer: Optional[bool] = True):
4343
# This is a well known issue without any real solutions.
4444
# Using `fork` instead of `spawn` may alleviate the symptom for POSIX systems,
4545
# but is relatively unsupported on Windows.
46+
@trace(name="/validator_usage", origin="ValidatorServiceBase.execute_validator")
4647
def execute_validator(
4748
self,
4849
validator: Validator,
@@ -152,26 +153,6 @@ def after_run_validator(
152153
validator_logs.validation_result = result
153154
validator_logs.end_time = end_time
154155

155-
if not self._disable_tracer:
156-
# Get HubTelemetry singleton and create a new span to
157-
# log the validator usage
158-
_hub_telemetry = HubTelemetry()
159-
_hub_telemetry.create_new_span(
160-
span_name="/validator_usage",
161-
attributes=[
162-
("validator_name", validator.rail_alias),
163-
("validator_on_fail", validator.on_fail_descriptor),
164-
(
165-
"validator_result",
166-
result.outcome
167-
if isinstance(result, ValidationResult)
168-
else None,
169-
),
170-
],
171-
is_parent=False, # This span will have no children
172-
has_parent=True, # This span has a parent
173-
)
174-
175156
return validator_logs
176157

177158
def run_validator(

0 commit comments

Comments
 (0)