code: function printUserInfo(username) {
  
      // Start the outer operation span
      var span = opentracing.globalTracer().startSpan('printUserInfo');
      span.log({ event : 'query_started' });
  
      queryUserInfo(span, username, function(err, user) {
          if (err) {
              span.setTag('error', true);
              span.log({
                  event : 'error',
                  'error.object' : err,
              });
              span.finish();
              return;
          }
          span.log({
              event : 'query_finished',
              user  : user,
          });
  
          console.log('User: ' + user.login);
          console.log('Type: ' + user.type);
          console.log('Public repositories: ' + user.repoNames.length);
          for (var i = 0; i < user.repoNames.length; i++) {
              console.log('  ' + user.repoNames[i]);
          }
          console.log('Recent events: ' + user.recentEvents);
          for (var key in user.eventCounts) {
              console.log('  ' + key + ': ' + user.eventCounts[key]);
          }
  
          // Lastly, log the remaining rate limit data to see how many more times
          // the public GitHub APIs can be queried!
          httpGet(span, 'http://api.github.com/rate_limit', function (err, json) {
              if (err) {
                  span.setTag('error', true);
                  span.log({
                      event : 'error',
                      'error.object' : err,
                  });
              }
              span.log({
                  event : 'rate_limit',
                  json  : json,
              });
              span.finish();
  
              // Generate a LightStep-specific URL
              var url = span.generateTraceURL();
              console.log('');
              console.log('View the trace at: ' + url);
          });
      });
  }
docs: Worker functions