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]
