gpt4 book ai didi

com.nike.wingtips.zipkin.util.ZipkinSpanSenderDefaultHttpImpl类的使用及代码示例

转载 作者:知者 更新时间:2024-03-18 18:29:31 26 4
gpt4 key购买 nike

本文整理了Java中com.nike.wingtips.zipkin.util.ZipkinSpanSenderDefaultHttpImpl类的一些代码示例,展示了ZipkinSpanSenderDefaultHttpImpl类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZipkinSpanSenderDefaultHttpImpl类的具体详情如下:
包路径:com.nike.wingtips.zipkin.util.ZipkinSpanSenderDefaultHttpImpl
类名称:ZipkinSpanSenderDefaultHttpImpl

ZipkinSpanSenderDefaultHttpImpl介绍

[英]A default no-dependencies implementation of ZipkinSpanSender that collects spans into batches and sends them to the Zipkin server at a regular intervals over HTTP.
[中]ZipkinPansender的默认无依赖性实现,它将跨度收集成批,并定期通过HTTP将其发送到Zipkin服务器。

代码示例

代码示例来源:origin: Nike-Inc/wingtips

@Override
  public void call() throws Throwable {
    new ZipkinSpanSenderDefaultHttpImpl(badUrl, true);
  }
});

代码示例来源:origin: Nike-Inc/wingtips

@Override
  public void run() {
    try {
      if (zipkinSpanSendingQueue.isEmpty())
        return;
      List<zipkin.Span> drainedSpans = new ArrayList<>(zipkinSpanSendingQueue.size());
      zipkinSpanSendingQueue.drainTo(drainedSpans);
      if (!drainedSpans.isEmpty())
        zipkinSpanSender.sendSpans(drainedSpans);
    }
    catch(Throwable ex) {
      logger.error("An unexpected error occurred attempting to post Zipkin spans to the Zipkin server.", ex);
    }
  }
}

代码示例来源:origin: Nike-Inc/wingtips

this.senderJob = new ZipkinSpanSenderJob(this, zipkinSpanSendingQueue);
this.zipkinSpanSendingScheduler = configureScheduledExecutorServiceForBatching();

代码示例来源:origin: Nike-Inc/wingtips

@Test
public void flush_kicks_off_sender_job_immediately() {
  // when
  implSpy.flush();
  // then
  verify(schedulerMock).execute(implSpy.senderJob);
}

代码示例来源:origin: Nike-Inc/wingtips

@Test
public void handleSpan_offers_span_to_zipkinSpanSendingQueue() {
  // given
  zipkin.Span zipkinSpan = zipkinSpan(42, "foo");
  assertThat(implSpy.zipkinSpanSendingQueue.isEmpty());
  // when
  implSpy.handleSpan(zipkinSpan);
  // then
  assertThat(implSpy.zipkinSpanSendingQueue)
    .hasSize(1)
    .contains(zipkinSpan);
}

代码示例来源:origin: Nike-Inc/wingtips

protected void sendSpans(List<zipkin.Span> spanList) {
  try {
    sendSpans(Codec.JSON.writeSpans(spanList));
  } catch (IOException e) {
    Set<String> affectedTraceIds = new HashSet<>(spanList.size());
    for (zipkin.Span span : spanList) {
      affectedTraceIds.add(String.valueOf(span.traceId));
    }
    logger.error("An error occurred attempting to post Zipkin spans to the Zipkin server. affected_trace_ids={}, exception_cause=\"{}\"",
           affectedTraceIds.toString(), e.toString());
  }
}

代码示例来源:origin: Nike-Inc/wingtips

/**
 * Convenience constructor that uses {@link WingtipsToZipkinSpanConverterDefaultImpl} and {@link ZipkinSpanSenderDefaultHttpImpl} as the
 * implementations for {@link #zipkinSpanConverter} and {@link #zipkinSpanSender}.
 *
 * @param serviceName The name of this service. This is used to build the Zipkin {@link Endpoint} that will be used for client/server/local
 *                    Zipkin annotations when sending spans to Zipkin.
 * @param localComponentNamespace The {@link zipkin.Constants#LOCAL_COMPONENT} namespace that should be used when creating certain Zipkin
 *                                annotations when the Wingtips span's {@link Span#getSpanPurpose()} is
 *                                {@link com.nike.wingtips.Span.SpanPurpose#LOCAL_ONLY}. See the {@link zipkin.Constants#LOCAL_COMPONENT}
 *                                javadocs for more information on what this is and how it's used by the Zipkin server, so you know
 *                                what value you should send.
 * @param postZipkinSpansBaseUrl The base URL of the Zipkin server. This should include the scheme, host, and port (if non-standard for the scheme).
 *                               e.g. {@code http://localhost:9411}, or {@code https://zipkinserver.doesnotexist.com/}
 */
public WingtipsToZipkinLifecycleListener(String serviceName, String localComponentNamespace, String postZipkinSpansBaseUrl) {
  this(serviceName,
     localComponentNamespace,
     new WingtipsToZipkinSpanConverterDefaultImpl(),
     new ZipkinSpanSenderDefaultHttpImpl(postZipkinSpansBaseUrl, true)
  );
}

代码示例来源:origin: com.nike.wingtips/wingtips-zipkin

this.senderJob = new ZipkinSpanSenderJob(this, zipkinSpanSendingQueue);
this.zipkinSpanSendingScheduler = configureScheduledExecutorServiceForBatching();

代码示例来源:origin: com.nike.wingtips/wingtips-zipkin

protected void sendSpans(List<zipkin.Span> spanList) {
  try {
    sendSpans(Codec.JSON.writeSpans(spanList));
  } catch (IOException e) {
    Set<String> affectedTraceIds = new HashSet<>(spanList.size());
    for (zipkin.Span span : spanList) {
      affectedTraceIds.add(String.valueOf(span.traceId));
    }
    logger.error("An error occurred attempting to post Zipkin spans to the Zipkin server. affected_trace_ids={}, exception_cause=\"{}\"",
           affectedTraceIds.toString(), e.toString());
  }
}

代码示例来源:origin: com.nike.wingtips/wingtips-zipkin

/**
 * Convenience constructor that uses {@link WingtipsToZipkinSpanConverterDefaultImpl} and {@link ZipkinSpanSenderDefaultHttpImpl} as the
 * implementations for {@link #zipkinSpanConverter} and {@link #zipkinSpanSender}.
 *
 * @param serviceName The name of this service. This is used to build the Zipkin {@link Endpoint} that will be used for client/server/local
 *                    Zipkin annotations when sending spans to Zipkin.
 * @param localComponentNamespace The {@link zipkin.Constants#LOCAL_COMPONENT} namespace that should be used when creating certain Zipkin
 *                                annotations when the Wingtips span's {@link Span#getSpanPurpose()} is
 *                                {@link com.nike.wingtips.Span.SpanPurpose#LOCAL_ONLY}. See the {@link zipkin.Constants#LOCAL_COMPONENT}
 *                                javadocs for more information on what this is and how it's used by the Zipkin server, so you know
 *                                what value you should send.
 * @param postZipkinSpansBaseUrl The base URL of the Zipkin server. This should include the scheme, host, and port (if non-standard for the scheme).
 *                               e.g. {@code http://localhost:9411}, or {@code https://zipkinserver.doesnotexist.com/}
 */
public WingtipsToZipkinLifecycleListener(String serviceName, String localComponentNamespace, String postZipkinSpansBaseUrl) {
  this(serviceName,
     localComponentNamespace,
     new WingtipsToZipkinSpanConverterDefaultImpl(),
     new ZipkinSpanSenderDefaultHttpImpl(postZipkinSpansBaseUrl, true)
  );
}

代码示例来源:origin: com.nike.wingtips/wingtips-zipkin

@Override
  public void run() {
    try {
      if (zipkinSpanSendingQueue.isEmpty())
        return;
      List<zipkin.Span> drainedSpans = new ArrayList<>(zipkinSpanSendingQueue.size());
      zipkinSpanSendingQueue.drainTo(drainedSpans);
      if (!drainedSpans.isEmpty())
        zipkinSpanSender.sendSpans(drainedSpans);
    }
    catch(Throwable ex) {
      logger.error("An unexpected error occurred attempting to post Zipkin spans to the Zipkin server.", ex);
    }
  }
}

代码示例来源:origin: Nike-Inc/wingtips

@Override
  public void call() throws Throwable {
    implSpy.sendSpans(Collections.singletonList(zipkinSpan(42, "foo")));
  }
});

代码示例来源:origin: Nike-Inc/wingtips

@Override
  public void call() throws Throwable {
    implSpy.sendSpans(Collections.singletonList(zipkinSpan(42, "foo")));
  }
});

代码示例来源:origin: Nike-Inc/wingtips

@Override
  public void call() throws Throwable {
    implSpy.sendSpans(Collections.singletonList(zipkinSpan(42, "foo")));
  }
});

代码示例来源:origin: Nike-Inc/wingtips

@Override
  public void call() throws Throwable {
    implSpy.sendSpans(Collections.singletonList(zipkinSpan(42, "foo")));
  }
});

代码示例来源:origin: Nike-Inc/wingtips

@Test
public void sendSpans_with_span_list_delegates_to_sendSpans_with_byte_array() throws IOException {
  // given
  List<zipkin.Span> zipkinSpans = new ArrayList<>();
  for (int i = 0; i < 10; i++) {
    zipkinSpans.add(zipkinSpan(random.nextLong(), UUID.randomUUID().toString()));
  }
  byte[] expectedBytesPayload = Codec.JSON.writeSpans(zipkinSpans);
  // when
  implSpy.sendSpans(zipkinSpans);
  // then
  verify(implSpy).sendSpans(expectedBytesPayload);
}

代码示例来源:origin: Nike-Inc/wingtips

@Test
public void sendSpans_with_span_list_propagates_RuntimeExceptions_thrown_by_sendSpans_with_byte_array() throws IOException {
  // given
  RuntimeException runtimeException = new RuntimeException("kaboom");
  doThrow(runtimeException).when(implSpy).sendSpans(any(byte[].class));
  // when
  Throwable ex = catchThrowable(new ThrowableAssert.ThrowingCallable() {
    @Override
    public void call() throws Throwable {
      implSpy.sendSpans(Collections.singletonList(zipkinSpan(42, "foo")));
    }
  });
  // then
  verify(implSpy).sendSpans(any(byte[].class));
  assertThat(ex).isSameAs(runtimeException);
}

代码示例来源:origin: Nike-Inc/wingtips

@Test
public void sendSpans_with_span_list_does_not_propagate_IOException_error_thrown_by_sendSpans_with_byte_array() throws IOException {
  // given
  doThrow(new IOException("kaboom")).when(implSpy).sendSpans(any(byte[].class));
  // when
  Throwable ex = catchThrowable(new ThrowableAssert.ThrowingCallable() {
    @Override
    public void call() throws Throwable {
      implSpy.sendSpans(Collections.singletonList(zipkinSpan(42, "foo")));
    }
  });
  // then
  verify(implSpy).sendSpans(any(byte[].class));
  assertThat(ex).isNull();
}

代码示例来源:origin: Nike-Inc/wingtips

@Test
public void ZipkinSpanSenderJob_drains_from_blocking_queue_and_calls_sendSpans_method() {
  // given
  ZipkinSpanSenderDefaultHttpImpl senderImplMock = mock(ZipkinSpanSenderDefaultHttpImpl.class);
  BlockingQueue<zipkin.Span> spanBlockingQueueSpy = spy(new LinkedBlockingQueue<zipkin.Span>());
  List<zipkin.Span> zipkinSpans = new ArrayList<>();
  for (int i = 0; i < 10; i++) {
    zipkinSpans.add(zipkinSpan(random.nextLong(), UUID.randomUUID().toString()));
  }
  spanBlockingQueueSpy.addAll(zipkinSpans);
  ZipkinSpanSenderDefaultHttpImpl.ZipkinSpanSenderJob senderJob =
    new ZipkinSpanSenderDefaultHttpImpl.ZipkinSpanSenderJob(senderImplMock, spanBlockingQueueSpy);
  // when
  senderJob.run();
  // then
  verify(spanBlockingQueueSpy).drainTo(any(Collection.class));
  verify(senderImplMock).sendSpans(zipkinSpans);
}

代码示例来源:origin: Nike-Inc/wingtips

@Test
public void sendSpans_sends_to_zipkin_server_as_expected() {
  // given
  List<zipkin.Span> zipkinSpans = new ArrayList<>();
  for (int i = 0; i < 10; i++) {
    zipkinSpans.add(zipkinSpan(random.nextLong(), UUID.randomUUID().toString()));
  }
  // when
  implSpy.sendSpans(zipkinSpans);
  // then
  assertThat(zipkinRule.httpRequestCount()).isEqualTo(1);
  // Each span has its own trace ID
  List<zipkin.Span>[] expectedTraces = new List[zipkinSpans.size()];
  for (int i = 0; i < zipkinSpans.size(); i++) {
    zipkin.Span span = zipkinSpans.get(i);
    expectedTraces[i] = Collections.singletonList(span);
  }
  assertThat(zipkinRule.getTraces()).contains(expectedTraces);
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com