Skip to content

Consolidate on convention for *Telemetry method names create* or new* #15830

@trask

Description

@trask

Currently we have a mix of new* and create* methods inside of *Telemetry classes.

new* Methods

File Method Signature
SpringWebTelemetry.java public ClientHttpRequestInterceptor newInterceptor()
SpringIntegrationTelemetry.java public ChannelInterceptor newChannelInterceptor()
ServletTelemetry.java public Filter newFilter()
RocketMqTelemetry.java public ConsumeMessageHook newTracingConsumeMessageHook()
RocketMqTelemetry.java public SendMessageHook newTracingSendMessageHook()
NatsTelemetry.java public Connection newConnection(Options options, ConnectionFactory<Options> connectionFactory) throws IOException, InterruptedException
NatsTelemetry.java public Connection newConnection(Options.Builder builder, ConnectionFactory<Options.Builder> connectionFactory) throws IOException, InterruptedException
MongoTelemetry.java public CommandListener newCommandListener()
RestletTelemetry.java (v1.1) public Filter newFilter(String path)
RestletTelemetry.java (v2.0) public Filter newFilter(String path)
GrpcTelemetry.java public ClientInterceptor newClientInterceptor()
GrpcTelemetry.java public ServerInterceptor newServerInterceptor()
ApacheHttpClientTelemetry.java (v4.3) public CloseableHttpClient newHttpClient()
ApacheHttpClientTelemetry.java (v4.3) public HttpClientBuilder newHttpClientBuilder()
ApacheHttpClientTelemetry.java (v5.2) public CloseableHttpClient newHttpClient()
ApacheHttpClientTelemetry.java (v5.2) public HttpClientBuilder newHttpClientBuilder()
AwsSdkTelemetry.java (v1.11) public RequestHandler2 newRequestHandler()
AwsSdkTelemetry.java (v2.2) public ExecutionInterceptor newExecutionInterceptor()
GraphQLTelemetry.java (v12.0) public Instrumentation newInstrumentation()
GraphQLTelemetry.java (v20.0) public Instrumentation newInstrumentation()
OkHttpTelemetry.java public Call.Factory newCallFactory(OkHttpClient baseClient)

create* Methods

File Method Signature
SpringWebMvcTelemetry.java (v5.3) public Filter createServletFilter()
SpringWebMvcTelemetry.java (v6.0) public Filter createServletFilter()
SpringWebfluxServerTelemetry.java public WebFilter createWebFilter()
SpringWebfluxServerTelemetry.java public WebFilter createWebFilterAndRegisterReactorHook()
SpringKafkaTelemetry.java public <K, V> RecordInterceptor<K, V> createRecordInterceptor()
SpringKafkaTelemetry.java public <K, V> RecordInterceptor<K, V> createRecordInterceptor(@Nullable RecordInterceptor<K, V> decoratedInterceptor)
SpringKafkaTelemetry.java public <K, V> BatchInterceptor<K, V> createBatchInterceptor()
SpringKafkaTelemetry.java public <K, V> BatchInterceptor<K, V> createBatchInterceptor(@Nullable BatchInterceptor<K, V> decoratedInterceptor)
NettyClientTelemetry.java public ChannelOutboundHandlerAdapter createRequestHandler()
NettyClientTelemetry.java public ChannelInboundHandlerAdapter createResponseHandler()
NettyClientTelemetry.java public CombinedChannelDuplexHandler<? extends ChannelInboundHandlerAdapter, ? extends ChannelOutboundHandlerAdapter> createCombinedHandler()
NettyServerTelemetry.java public ChannelInboundHandlerAdapter createRequestHandler()
NettyServerTelemetry.java public ChannelOutboundHandlerAdapter createResponseHandler()
NettyServerTelemetry.java public ChannelOutboundHandlerAdapter createResponseHandler(HttpServerResponseBeforeCommitHandler commitHandler)
NettyServerTelemetry.java public CombinedChannelDuplexHandler<? extends ChannelInboundHandlerAdapter, ? extends ChannelOutboundHandlerAdapter> createCombinedHandler()
NettyServerTelemetry.java public CombinedChannelDuplexHandler<? extends ChannelInboundHandlerAdapter, ? extends ChannelOutboundHandlerAdapter> createCombinedHandler(HttpServerResponseBeforeCommitHandler commitHandler)
HikariTelemetry.java public MetricsTrackerFactory createMetricsTrackerFactory()
HikariTelemetry.java public MetricsTrackerFactory createMetricsTrackerFactory(@Nullable MetricsTrackerFactory delegate)
HelidonTelemetry.java public Filter createFilter()
C3p0Telemetry.java public ConnectionPoolDataSourceProxy createConnectionPoolDataSourceProxy(...)
ApacheDbcpTelemetry.java public DataSource createDataSource(DataSource dataSource)
DruidTelemetry.java public DruidDataSource createDataSource(DruidDataSource druidDataSource)
OracleUcpTelemetry.java public PoolDataSource createPoolDataSource(PoolDataSource poolDataSource)

SDK

SDK repo has a few public methods that start with create* and none that start with new*:

  • ResourceConfiguration.createEnvironmentResource() - Creates resource from environment variables
  • ResourceConfiguration.createEnvironmentResource(ConfigProperties) - Creates resource from config properties
  • DeclarativeConfiguration.createSampler(DeclarativeConfigProperties) - Creates sampler from declarative config
  • InMemoryMetricReader.createDelta() - Creates delta metric reader for testing
  • OpenTracingShim.createTracerShim(OpenTelemetry) - Creates OpenTracing tracer shim
  • OpenTracingShim.createTracerShim(...) - Creates OpenTracing tracer shim with additional config

I tend to prefer create* anyways, so suggest we go with that. I'll send a PR for review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions