newrelic/newrelic-java-kotlin-coroutines

ignores.suspend not filtering UndispatchedCoroutine

anderssv opened this issue · 6 comments

I am not absolutely this should work, but it seems I can't ignore suspend traces for example for Custom/WrappedSuspend/UndispatchedCoroutine .

I have added the following to newrelic.yml:

  Coroutines:
    ignores:
      continuations: jetty-call-handler
      suspends: UndispatchedCoroutine,jetty-call-handler
      dispatched: io.ktor.utils.io.jvm.javaio.OutputAdapter$loop$1$loop$1,io.ktor.utils.io.ByteBufferChannel$writeSuspend$1

The filtering on dispatched works, but for suspends it does not seem to work. Am I on the right track here?

It looks like you are on the right track but I think it may be expecting the full qualified classname to work. Can you try kotlinx.coroutines.UndispatchedCoroutine instead of UndispatchedCoroutine.

Let me know if that works or not. If not then we will try to find a fix

Hi @dhilpipre , thanks for the feedback. But it doesn't seem to work.

This is my current suspends config: suspends: kotlinx.coroutines.UndispatchedCoroutine,jetty-call-handler

But the following query in NR still returns a continuous volume of Custom/WrappedSuspend/UndispatchedCoroutine:

SELECT rate(count(newrelic.timeslice.value), 1 MINUTE) as rate FROM Metric WHERE metricTimesliceName Like 'Custom/WrappedSuspend/%' AND appName='myapp' TIMESERIES SINCE 30 minutes AGO FACET metricTimesliceName

Oh yeah. Custom/WrappedSuspend/jetty-call-handler is also not ignored. Continuations and dispatched is working.

Thanks. We will take a look and see if we can get it to work properly. I will keep you posted and if we fix it there will be a new release with the fix.

BTW, if you have a code sample that reproduces the problem that would be helpful

Fixed in current release