πŸŽ› Data filtering

Control what and how much data is sent to Helios to ensure you see what's important without the noise, and also meet span consumption targets.

Service sampling ratio

In order to fine-tune the amount of data being collected by Helios across your microservices application, the SDK allows configuring the Sampling Ratio per service, which affects the portion of data being tracked.

By default, once initialized, Helios traces all data inside a service.

Under some circustances, this might result, for example, in one service quickly using-up your monthly data quota, leaving data traced by other services out of scope.

Controlling the sampling ratio of each service can be specifically useful when different parts of your system handle different scales of data, or data of varying importance.

To configure the sampling ratio for a service, set the HS_SAMPLING_RATIO env var with a decimal value between 0 and 1, i.e. 0.1 or 0.0001 etc.

See the detailed installation docs for specific setting per your relevant SDK language.

Filtering specific data

To further control what data is being traced and reported to Helios, additional controllers are available.

HTTP pattern filters

In many cases, applications interact with other applications over HTTP constantly while they are up and running.

Some examples are:

  • Exposing a health-check API call for the app, which is being monitored closely.
  • Sending-out similar calls to assess the availabilty of third-party applications.
  • Reporting metrics to external applications.
  • Many more ...

All of these interactions can add-up quickly, and can result in both limiting your use of quota for other, more important, operations, or just cause you not be able to see the wood for the trees, with all this data flying around.

Depending on the specific SDK version and language, Helios allows you defining filter-patterns, to avoid such irrelevant data from being collected.

In general, you can configure a list of patterns which you want to suppress tracing for.
Here's an example for the Python SDK configuration:

HS_EXCLUDED_URLS=/health,www.newrelic.com

This will result in not reporting any HTTP requests (incoming or outgoing) to /health or any outgoing reports to www.newrelic.com.

See the detailed instructions for enabling this under the Configuration section for your relevant version of the SDK.


Did this page help you?