Commit 5c794442 authored by Liuhaoyang's avatar Liuhaoyang

Test GrpcTraceSegmentService

parent 504720c1
namespace SkyWalking.AspNetCore
{
public class SkyWalkingOptions
{
}
}
\ No newline at end of file
......@@ -25,7 +25,7 @@ namespace SkyWalking.Context.Ids
{
public static class GlobalIdGenerator
{
private static ThreadLocal<IDContext> threadIdSequence = new ThreadLocal<IDContext>(() => new IDContext(DateTime.Now.GetTimeMillis(), 0));
private static readonly ThreadLocal<IDContext> threadIdSequence = new ThreadLocal<IDContext>(() => new IDContext(DateTime.Now.GetTimeMillis(), 0));
public static ID Generate()
{
......@@ -37,7 +37,7 @@ namespace SkyWalking.Context.Ids
IDContext context = threadIdSequence.Value;
return new ID(
RemoteDownstreamConfig.Agent.ApplicationId,
RemoteDownstreamConfig.Agent.ApplicationInstanceId,
Thread.CurrentThread.ManagedThreadId,
context.NextSeq()
);
......@@ -51,7 +51,7 @@ namespace SkyWalking.Context.Ids
// Just for considering time-shift-back only.
private long _runRandomTimestamp;
private int _lastRandomValue;
private Random _random;
private readonly Random _random;
public IDContext(long lastTimestamp, short threadSeq)
{
......
using System.Threading;
using System.Threading.Tasks;
using SkyWalking.Boot;
using SkyWalking.Context;
using SkyWalking.Context.Trace;
using SkyWalking.NetworkProtocol;
namespace SkyWalking.Remote
{
public class GrpcTraceSegmentService : IBootService, ITracingContextListener
{
public void Dispose()
{
TracingContext.ListenerManager.Remove(this);
}
public int Order { get; } = 1;
public Task Initialize(CancellationToken token)
{
TracingContext.ListenerManager.Add(this);
return Task.CompletedTask;
}
public async void AfterFinished(ITraceSegment traceSegment)
{
var segment = traceSegment.Transform();
var traceSegmentService =
new TraceSegmentService.TraceSegmentServiceClient(GrpcChannelManager.Instance.Channel);
using (var asyncClientStreamingCall = traceSegmentService.collect())
{
asyncClientStreamingCall.RequestStream.WriteAsync(segment);
await asyncClientStreamingCall.RequestStream.CompleteAsync();
}
}
}
}
\ No newline at end of file
using System;
using System.Threading.Tasks;
using SkyWalking.Boot;
using SkyWalking.Config;
using SkyWalking.Context;
using SkyWalking.Context.Trace;
using SkyWalking.Remote;
using Xunit;
namespace SkyWalking.Core.Tests
......@@ -5,8 +12,24 @@ namespace SkyWalking.Core.Tests
public class UnitTest1
{
[Fact]
public void Test1()
public async Task Test1()
{
AgentConfig.ApplicationCode = "skywalking.test";
CollectorConfig.DirectServers = "localhost:11800";
await GrpcChannelManager.Instance.ConnectAsync();
await ServiceManager.Instance.Initialize();
var appId = RemoteDownstreamConfig.Agent.ApplicationId;
var appInsId = RemoteDownstreamConfig.Agent.ApplicationInstanceId;
var span = ContextManager.CreateEntrySpan("test", new ContextCarrier());
span.SetComponent("Skywalking.Core.Tests");
span.AsHttp();
ContextManager.StopSpan(span);
}
}
}
......@@ -11,7 +11,7 @@ namespace SkyWalking.Core.Tests.Utils
{
var atomicInteger = new AtomicInteger();
var result = atomicInteger.Add(2);
Assert.Equal(result, 2);
Assert.Equal(2, result);
}
[Fact]
......@@ -19,7 +19,7 @@ namespace SkyWalking.Core.Tests.Utils
{
var atomicInteger = new AtomicInteger(5);
var result = atomicInteger.Increment();
Assert.Equal(result, 6);
Assert.Equal(6, result);
}
[Fact]
......@@ -27,7 +27,7 @@ namespace SkyWalking.Core.Tests.Utils
{
var atomicInteger = new AtomicInteger(5);
var result = atomicInteger.Decrement();
Assert.Equal(result, 4);
Assert.Equal(4, result);
}
[Fact]
......@@ -35,7 +35,7 @@ namespace SkyWalking.Core.Tests.Utils
{
var atomicInteger = new AtomicInteger(5);
var result = atomicInteger + 2;
Assert.Equal<int>(result, 7);
Assert.Equal<int>(7, result);
}
[Fact]
......@@ -43,7 +43,7 @@ namespace SkyWalking.Core.Tests.Utils
{
var atomicInteger = new AtomicInteger(5);
var result = atomicInteger - 2;
Assert.Equal<int>(result, 3);
Assert.Equal<int>(3, result);
}
[Fact]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment