Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info

This page includes notes related to 

Jira Legacy
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
keyARCH-182
.


Table of Contents

NewRelic Built-in

...

Attributes

...

traceId

Use tripIdtraceId, which is a NewRelic provided field to track transaction calls made through various NewRelic apps.  This can be used further when 

Jira Legacy
serverSystem JIRA
serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
keyOPS-3353
 lands Distributed Tracing

Code Block
SELECT appName, name, tripIdtraceId from Transaction WHERE tripIdtraceId = '7f695092a81bf3ad'

NewRelic Custom

...

Attributes

oauth_*

See documentation for the oauth_* custom metrics attributes documented on the Custom Attributes in New Relic page.

Additionally, you can see some of these metrics attributes in use on the Authentication Dashboard in NewRelic Insights.

You can also find these metrics attributess using the Data Explorer

  • Switch from their default of PageView to Transaction
  • Group By oauth_client_id
  • Filter by oauth_adapter
  • Examine other events captured in the samples, looking at request.uri and others is interesting while you try to build graphs

Here is an example query using multiple metricsattributes:

Code Block
SELECT oauth_adapter, request_client_name, appName from Transaction where oauth_adapter = 'dopdot' and request_client_name is not null SINCE 1 week ago

request_auth_type

Actual values seen in Production:

...

Code Block
SELECT uniques(request_auth_type) from Transaction SINCE 5 hours ago

request_user_agent

NewRelic has its own "request.headers.userAgent" field.  At this time, it seems that some transactions have a value for "request_user_agent", and others for "request.headers.userAgent", but not both.  This is true even for Python user agents.

Code Block
SELECT request_user_agent, `request.headers.userAgent` from Transaction WHERE request_user_agent != `request.headers.userAgent` AND (request_user_agent is NOT NULL OR `request.headers.userAgent` IS NOT NULL)

request_client_name

The request_client_name is taken from the user agent string for calls made using edx-rest-api-client v1.8.2+.

...

Code Block
SELECT request_client_name FROM Transaction WHERE request_client_name IS NOT NULL AND request_client_name !='unknown_client_name'

request_referer

Seems to be working as expected.  Only appears on certain transactions.

Code Block
SELECT request_referer from Transaction WHERE request_referer is not null

Update IDAs and NewRelic Applications

NewRelic Applications (RequestMetricsMiddleware)

  • prod-edx-analytics-api
  • prod-edx-insights
  • prod-edx-journals
  • prod-edx-credentials
  • prod-edx-discovery
  • prod-edx-ecommerce
  • prod-edx-edxapp-cms
  • prod-edx-edxapp-lms
  • prod-edx-notes

NewRelic Applications (Workers)

  • prod-edx-ecomworker  * not yet updated
  • prod-edx-edxapp-workers (updated with edx-platform)

NewRelic Applications (Skipped)

  • prod-edx-forum
  • prod-edx-mktg

Additional edx-rest-api-client Upgrades Possible

We need to determine when and if to update each of these.  It is moot if the user agent string isn't being updated correctly.

  • edx/bi-internal-reporting * not yet updated
  • edx/ecommerce-scripts * not yet updated
  • edx/ecommerce-worker * not yet updated
  • edx/tubular * not yet updated

IDA Updates Completed

For working with all IDAs, see 

Jira Legacy
serverSystem JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
keyARCH-193
 for a list of IDAs and example PRs.