tom-pytel opened a new pull request #50:
URL: https://github.com/apache/skywalking-nodejs/pull/50


   There are many things in this PR most of which were discussed with @wu-sheng 
in  a separate channel, they are as follows:
   * Spans which are ignored due to suffix or endpoint name pattern match will 
propagate their ignored status downstream via dummy span and sending an empty 
"sw8" header. If such an empty header is received then a dummy context and span 
is created instead of a new actively traced segment. This is only a behavior 
change for this node agent and is compatible with other language agents, they 
will just act as they have always done.
   * If a span is created in code which is an async child of a span, which has 
already finished and been sent to the server, then it will now correctly create 
a new segment and reference the segment which created it and keep the 
parent-child relationship in the trace. Previously behavior was undefined 
mostly losing the new span.
   * The method of limiting the number of segments which are recorded has been 
changed from check post-record check to pre-record to avoid unnecessary 
instrumentation if the number of segments already exceeds the threshold and the 
data would be thrown away anyway. This also allows propagation of ignored 
status of segment downstream via mechanism described above to avoid broken 
"VNode" segments in trace view.
   * Setting logging functions to no-ops when logging level indicates since the 
logging module seems to be stringifying everything which  is sent to it 
regardless of logging level set, which led to up to 2x performance hit in 
extreme case of very simple endpoints.
   * Search for top-level module now stops when it finds skywalking since an 
app may be run by a framework which imports it into its own node context and 
would wind up with the wrong top-level directory to import from.
   * "peer" removed from `Context.newExitSpan()` and is now treated just like 
the other parameters.


-- 
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.

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


Reply via email to