-
Notifications
You must be signed in to change notification settings - Fork 127
Closed
Labels
bugIncorrect or flawed agent behavior.Incorrect or flawed agent behavior.
Description
Description
Ariadne GQL execute wrapper throws an unhandled error. The same GQL operation succeeds when newrelic is disabled.
Expected Behavior
- There shouldn't be an error thrown
- Errors in wrappers should be handled and not block critical operations
Troubleshooting or NR Diag results
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1820, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1796, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File "/usr/local/lib/python3.10/site-packages/newrelic/hooks/framework_flask.py", line 82, in _nr_wrapper_handler_
return wrapped(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/flask_restful/__init__.py", line 467, in wrapper
resp = resource(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/flask/views.py", line 107, in view
return current_app.ensure_sync(self.dispatch_request)(**kwargs)
File "/usr/local/lib/python3.10/site-packages/flask_restful/__init__.py", line 582, in dispatch_request
resp = meth(*args, **kwargs)
File "/app/alpha/blueprints/graphql/graphql.py", line 43, in post
success, result = ariadne.graphql_sync(
File "/usr/local/lib/python3.10/site-packages/newrelic/hooks/framework_ariadne.py", line 66, in wrap_graphql_sync
return wrapped(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/ariadne/graphql.py", line 183, in graphql_sync
result = execute_sync(
File "/usr/local/lib/python3.10/site-packages/graphql/execution/execute.py", line 1082, in execute_sync
result = execute(
File "/usr/local/lib/python3.10/site-packages/graphql/execution/execute.py", line 1030, in execute
result = exe_context.execute_operation(operation, root_value)
File "/usr/local/lib/python3.10/site-packages/newrelic/hooks/framework_graphql.py", line 143, in wrap_execute_operation
trace.deepest_path = ".".join(traverse_deepest_unique_path(fields, fragments)) or ""
TypeError: sequence item 1: expected str instance, NoneType found
Steps to Reproduce
Not all GQL operations are failing due to this, I cannot share our specific operations
Your Environment
newrelic==8.8.0
ariadne==0.19
graphql-core==3.2.1
Flask==2.2.2
newrelic.config
files:
"/etc/newrelic-infra.yml" :
mode: "000644"
owner: root
group: root
content: |
license_key: <redacted>
commands:
# Create the agent’s yum repository
"01-agent-repository":
command: sudo curl -o /etc/yum.repos.d/newrelic-infra.repo https://download.newrelic.com/infrastructure_agent/linux/yum/amazonlinux/2/x86_64/newrelic-infra.repo
#
# Update your yum cache
"02-update-yum-cache":
command: yum -q makecache -y --disablerepo='*' --enablerepo='newrelic-infra'
#
# Run the installation script
"03-run-installation-script":
command: sudo yum install newrelic-infra -y
newrelic.ini
distributed_tracing.enabled = true
monitor_mode = true
log_level = info
ssl = true
high_security = false
transaction_tracer.enabled = true
transaction_tracer.transaction_threshold = apdex_f
transaction_tracer.record_sql = obfuscated
transaction_tracer.stack_trace_threshold = 0.5
transaction_tracer.explain_enabled = true
transaction_tracer.explain_threshold = 0.5
error_collector.enabled = true
browser_monitoring.auto_instrument = true
thread_profiler.enabled = true
Additional context
[TIP]: # ( Add any other context about the problem here. For example, relevant community posts or support tickets. )
lrafeei
Metadata
Metadata
Assignees
Labels
bugIncorrect or flawed agent behavior.Incorrect or flawed agent behavior.