コード例 #1
0
        public async override Task <Empty> AddItem(AddItemRequest request, Grpc.Core.ServerCallContext context)
        {
            using var parent = ActivitySource.StartActivity("hipstershop.CartService/AddItem", ActivityKind.Server);
            await cartStore.AddItemAsync(request.UserId, request.Item.ProductId, request.Item.Quantity);

            return(Empty);
        }
コード例 #2
0
 public Task AddItemAsync(string userId, string productId, int quantity)
 {
     using (var span = addItemSpanBuilder.StartScopedSpan())
     {
         return(cartStore.AddItemAsync(userId, productId, quantity));
     }
 }
コード例 #3
0
        public async override Task <Empty> AddItem(AddItemRequest request, Grpc.Core.ServerCallContext context)
        {
            using (GlobalTracer.Instance.BuildSpan("AddItem").StartActive())
            {
                await cartStore.AddItemAsync(request.UserId, request.Item.ProductId, request.Item.Quantity);

                return(Empty);
            }
        }
コード例 #4
0
        public async override Task <Empty> AddItem(AddItemRequest request, ServerCallContext context)
        {
            await _cartStore.AddItemAsync(request.UserId, request.Item.ProductId, request.Item.Quantity);

            _logger.LogInformation("CartService.AddItem UserId={UserId}, ProductId={ProductId}, Quantity={Quantity}",
                                   request.UserId,
                                   request.Item.ProductId,
                                   request.Item.Quantity);
            return(Empty);
        }
コード例 #5
0
        public async override Task <Empty> AddItem(AddItemRequest request, Grpc.Core.ServerCallContext context)
        {
            using (var activity = TraceActivitySource.StartActivity("AddItem", ActivityKind.Server, this.traceContextFromGrpcContext(context)))
            {
                activity?.SetTag("component", "rpc");
                activity?.SetTag("grpc.method", "/hipstershop.CartService/AddItem");
                await cartStore.AddItemAsync(request.UserId, request.Item.ProductId, request.Item.Quantity);

                return(Empty);
            }
        }
コード例 #6
0
        public async override Task <Empty> AddItem(AddItemRequest request, Grpc.Core.ServerCallContext context)
        {
            DistributedTracingData distributedTracingData = getDistributedTracingData(context);
            await Agent.Tracer.CaptureTransaction("AddItem", ApiConstants.TypeRequest, async (t) => {
                t.Labels["userId"]    = request.UserId;
                t.Labels["productId"] = request.Item.ProductId;
                t.Labels["quantity"]  = request.Item.Quantity.ToString();
                await cartStore.AddItemAsync(request.UserId, request.Item.ProductId, request.Item.Quantity);
            }, distributedTracingData);

            return(Empty);
        }
コード例 #7
0
        public async override Task <Empty> AddItem(AddItemRequest request, Grpc.Core.ServerCallContext context)
        {
            IIncomingRemoteCallTracer incomingRemoteCallTracer = getTracer(context, "AddItem");

            try {
                await incomingRemoteCallTracer.TraceAsync(() => cartStore.AddItemAsync(request.UserId, request.Item.ProductId, request.Item.Quantity));
            } catch (Exception e) {
                Console.WriteLine(e.ToString());
                incomingRemoteCallTracer.Error(e);
            } finally {
                incomingRemoteCallTracer.End();
            }

            return(Empty);
        }
        public async override Task <Empty> AddItem(AddItemRequest request, Grpc.Core.ServerCallContext context)
        {
            await cartStore.AddItemAsync(request.UserId, request.Item.ProductId, request.Item.Quantity);

            return(Empty);
        }