/// <summary> /// Create an entry span /// </summary> public ISpan CreateEntrySpan(string operationName) { if (!EnsureLimitMechanismWorking(out var noopSpan)) { return(noopSpan); } _activeSpanStacks.TryPeek(out var parentSpan); var parentSpanId = parentSpan?.SpanId ?? -1; if (parentSpan != null && parentSpan.IsEntry) { parentSpan.OperationName = operationName; return(parentSpan.Start()); } else { var entrySpan = new EntrySpan(_spanIdGenerator++, parentSpanId, operationName); entrySpan.Start(); _activeSpanStacks.Push(entrySpan); return(entrySpan); } }
public ISpan CreateEntrySpan(string operationName) { _activeSpanStacks.TryPeek(out var parentSpan); var parentSpanId = parentSpan?.SpanId ?? "-1"; if (parentSpan != null && parentSpan.IsEntry) { parentSpan.OperationName = operationName; return(parentSpan.Start()); } else { var entrySpan = new EntrySpan(RandomUtils.NextLong().ToString(), parentSpanId, operationName); entrySpan.Start(); _activeSpanStacks.Push(entrySpan); return(entrySpan); } }
/// <summary> /// Create an entry span /// </summary> public ISpan CreateEntrySpan(string operationName, string activityId, string parentId) { if (!EnsureLimitMechanismWorking(activityId, out var noopSpan)) { return(noopSpan); } var parentSpanId = -1; if (!string.IsNullOrWhiteSpace(parentId)) { _activeSpanDic.TryGetValue(parentId, out var parentSpan); parentSpanId = parentSpan?.SpanId ?? -1; } var entrySpan = new EntrySpan(_spanIdGenerator++, parentSpanId, operationName); entrySpan.Start(); TryAddSpan(activityId, entrySpan); return(entrySpan); }