devkanro opened a new pull request, #451:
URL: https://github.com/apache/skywalking-java/pull/451

   # What's changed?
   - A new instrumentation point for DispatchedTask
   - Provide stack tracing info for kotlin coroutine
   
   ## Instrumentation point at `DispatchedTask.run`
   In the previous practice, I chose to wrap all `Runnables` as 
`TracingRunnable`.
   
   This will cause the `CoroutineContext` in `DispachedContinution` to not be 
used by Dispacher.
   
   Although there will be no problem under normal usage, in some custom 
`CoroutineContext` scenarios, there may be problems where the 
`CoroutineContext` cannot be read.
   
   ## Provide stack tracing info for kotlin coroutine
   Since we can distinguish between a normal `Runnable` and a `DispatchedTask`, 
we can extract the stack trace of the Kotlin Coroutine suspend from 
`DispatchedTask`, which may be very effective in actual business.
   
   <img width="1126" alt="截屏2023-02-06 18 23 20" 
src="https://user-images.githubusercontent.com/9367842/216947246-13836877-8632-4aa9-b9e1-8a513347dcff.png";>
   
   # TODO List
   - [x] Update changelog
   - [ ] Discuss the best way to present the stack
     Since Span's Tag cannot display multiple lines of text, I used multiple 
tags similar to `coroutine.stack[13]` to display the stack trace. I don't know 
if it will cause SK performance or other problems.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to