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 ...@@ -25,7 +25,7 @@ namespace SkyWalking.Context.Ids
{ {
public static class GlobalIdGenerator 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() public static ID Generate()
{ {
...@@ -37,7 +37,7 @@ namespace SkyWalking.Context.Ids ...@@ -37,7 +37,7 @@ namespace SkyWalking.Context.Ids
IDContext context = threadIdSequence.Value; IDContext context = threadIdSequence.Value;
return new ID( return new ID(
RemoteDownstreamConfig.Agent.ApplicationId, RemoteDownstreamConfig.Agent.ApplicationInstanceId,
Thread.CurrentThread.ManagedThreadId, Thread.CurrentThread.ManagedThreadId,
context.NextSeq() context.NextSeq()
); );
...@@ -51,7 +51,7 @@ namespace SkyWalking.Context.Ids ...@@ -51,7 +51,7 @@ namespace SkyWalking.Context.Ids
// Just for considering time-shift-back only. // Just for considering time-shift-back only.
private long _runRandomTimestamp; private long _runRandomTimestamp;
private int _lastRandomValue; private int _lastRandomValue;
private Random _random; private readonly Random _random;
public IDContext(long lastTimestamp, short threadSeq) 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; using Xunit;
namespace SkyWalking.Core.Tests namespace SkyWalking.Core.Tests
...@@ -5,8 +12,24 @@ namespace SkyWalking.Core.Tests ...@@ -5,8 +12,24 @@ namespace SkyWalking.Core.Tests
public class UnitTest1 public class UnitTest1
{ {
[Fact] [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 ...@@ -11,7 +11,7 @@ namespace SkyWalking.Core.Tests.Utils
{ {
var atomicInteger = new AtomicInteger(); var atomicInteger = new AtomicInteger();
var result = atomicInteger.Add(2); var result = atomicInteger.Add(2);
Assert.Equal(result, 2); Assert.Equal(2, result);
} }
[Fact] [Fact]
...@@ -19,7 +19,7 @@ namespace SkyWalking.Core.Tests.Utils ...@@ -19,7 +19,7 @@ namespace SkyWalking.Core.Tests.Utils
{ {
var atomicInteger = new AtomicInteger(5); var atomicInteger = new AtomicInteger(5);
var result = atomicInteger.Increment(); var result = atomicInteger.Increment();
Assert.Equal(result, 6); Assert.Equal(6, result);
} }
[Fact] [Fact]
...@@ -27,7 +27,7 @@ namespace SkyWalking.Core.Tests.Utils ...@@ -27,7 +27,7 @@ namespace SkyWalking.Core.Tests.Utils
{ {
var atomicInteger = new AtomicInteger(5); var atomicInteger = new AtomicInteger(5);
var result = atomicInteger.Decrement(); var result = atomicInteger.Decrement();
Assert.Equal(result, 4); Assert.Equal(4, result);
} }
[Fact] [Fact]
...@@ -35,7 +35,7 @@ namespace SkyWalking.Core.Tests.Utils ...@@ -35,7 +35,7 @@ namespace SkyWalking.Core.Tests.Utils
{ {
var atomicInteger = new AtomicInteger(5); var atomicInteger = new AtomicInteger(5);
var result = atomicInteger + 2; var result = atomicInteger + 2;
Assert.Equal<int>(result, 7); Assert.Equal<int>(7, result);
} }
[Fact] [Fact]
...@@ -43,7 +43,7 @@ namespace SkyWalking.Core.Tests.Utils ...@@ -43,7 +43,7 @@ namespace SkyWalking.Core.Tests.Utils
{ {
var atomicInteger = new AtomicInteger(5); var atomicInteger = new AtomicInteger(5);
var result = atomicInteger - 2; var result = atomicInteger - 2;
Assert.Equal<int>(result, 3); Assert.Equal<int>(3, result);
} }
[Fact] [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