Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions api/all/src/main/java/io/opentelemetry/api/metrics/Meter.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

package io.opentelemetry.api.metrics;

import io.opentelemetry.common.impl.ApiUsageLogger;
import javax.annotation.concurrent.ThreadSafe;

/**
Expand Down Expand Up @@ -142,6 +143,15 @@ default BatchCallback batchCallback(
Runnable callback,
ObservableMeasurement observableMeasurement,
ObservableMeasurement... additionalMeasurements) {
if (callback == null) {
ApiUsageLogger.logNullParam(Meter.class, "batchCallback", "callback");
}
if (observableMeasurement == null) {
ApiUsageLogger.logNullParam(Meter.class, "batchCallback", "observableMeasurement");
}
if (additionalMeasurements == null) {
ApiUsageLogger.logNullParam(Meter.class, "batchCallback", "additionalMeasurements");
}
return DefaultMeter.getInstance()
.batchCallback(callback, observableMeasurement, additionalMeasurements);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

package io.opentelemetry.api.metrics;

import io.opentelemetry.common.impl.ApiUsageLogger;
import javax.annotation.concurrent.ThreadSafe;

/**
Expand All @@ -26,6 +27,9 @@ public interface MeterProvider {
* @return a Meter instance.
*/
default Meter get(String instrumentationScopeName) {
if (instrumentationScopeName == null) {
ApiUsageLogger.logNullParam(MeterProvider.class, "get", "instrumentationScopeName");
}
return meterBuilder(instrumentationScopeName).build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

import com.google.auto.value.AutoValue;
import io.opentelemetry.api.internal.ReadOnlyArrayMap;
import io.opentelemetry.common.impl.ApiUsageLogger;
import java.util.List;
import java.util.Map;
import java.util.function.BiConsumer;
Expand All @@ -21,6 +22,7 @@ abstract class ArrayBasedTraceState implements TraceState {
@Nullable
public String get(String key) {
if (key == null) {
ApiUsageLogger.logNullParam(TraceState.class, "get", "key");
return null;
Comment thread
jack-berg marked this conversation as resolved.
}
List<String> entries = getEntries();
Expand All @@ -45,6 +47,7 @@ public boolean isEmpty() {
@Override
public void forEach(BiConsumer<String, String> consumer) {
if (consumer == null) {
ApiUsageLogger.logNullParam(TraceState.class, "forEach", "consumer");
return;
}
List<String> entries = getEntries();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
package io.opentelemetry.api.trace;

import io.opentelemetry.api.internal.StringUtils;
import io.opentelemetry.common.impl.ApiUsageLogger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
Expand Down Expand Up @@ -66,6 +67,12 @@ static TraceState empty() {
*/
@Override
public TraceStateBuilder put(String key, String value) {
if (key == null) {
ApiUsageLogger.logNullParam(TraceStateBuilder.class, "put", "key");
}
if (value == null) {
ApiUsageLogger.logNullParam(TraceStateBuilder.class, "put", "value");
}
if (!isKeyValid(key) || !isValueValid(value) || numEntries >= MAX_ENTRIES) {
return this;
}
Expand All @@ -88,6 +95,7 @@ public TraceStateBuilder put(String key, String value) {
@Override
public TraceStateBuilder remove(String key) {
if (key == null) {
ApiUsageLogger.logNullParam(TraceStateBuilder.class, "remove", "key");
return this;
Comment thread
jack-berg marked this conversation as resolved.
}
for (int i = 0; i < reversedEntries.size(); i += 2) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ public boolean isEnabled() {

@Override
public SpanBuilder spanBuilder(String spanName) {
if (spanName == null) {
ApiUsageLogger.logNullParam(Tracer.class, "spanBuilder", "spanName");
}
return NoopSpanBuilder.create();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@

package io.opentelemetry.api.trace;

import io.opentelemetry.common.impl.ApiUsageLogger;

class DefaultTracerBuilder implements TracerBuilder {
private static final DefaultTracerBuilder INSTANCE = new DefaultTracerBuilder();

Expand All @@ -14,11 +16,18 @@ static TracerBuilder getInstance() {

@Override
public TracerBuilder setSchemaUrl(String schemaUrl) {
if (schemaUrl == null) {
ApiUsageLogger.logNullParam(TracerBuilder.class, "setSchemaUrl", "schemaUrl");
}
return this;
}

@Override
public TracerBuilder setInstrumentationVersion(String instrumentationScopeVersion) {
if (instrumentationScopeVersion == null) {
ApiUsageLogger.logNullParam(
TracerBuilder.class, "setInstrumentationVersion", "instrumentationScopeVersion");
}
return this;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
package io.opentelemetry.api.trace;

import io.opentelemetry.api.internal.IncubatingUtil;
import io.opentelemetry.common.impl.ApiUsageLogger;
import javax.annotation.concurrent.ThreadSafe;

@ThreadSafe
Expand All @@ -22,11 +23,20 @@ static TracerProvider getInstance() {

@Override
public Tracer get(String instrumentationScopeName) {
if (instrumentationScopeName == null) {
ApiUsageLogger.logNullParam(TracerProvider.class, "get", "instrumentationScopeName");
}
return DefaultTracer.getInstance();
}

@Override
public Tracer get(String instrumentationScopeName, String instrumentationScopeVersion) {
if (instrumentationScopeName == null) {
ApiUsageLogger.logNullParam(TracerProvider.class, "get", "instrumentationScopeName");
}
if (instrumentationScopeVersion == null) {
ApiUsageLogger.logNullParam(TracerProvider.class, "get", "instrumentationScopeVersion");
}
return DefaultTracer.getInstance();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.common.impl.ApiUsageLogger;
import java.util.concurrent.TimeUnit;
import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;
Expand Down Expand Up @@ -44,84 +45,151 @@ private PropagatedSpan(SpanContext spanContext) {

@Override
public Span setAttribute(String key, @Nullable String value) {
if (key == null) {
ApiUsageLogger.logNullParam(Span.class, "setAttribute", "key");
}
return this;
}

@Override
public Span setAttribute(String key, long value) {
if (key == null) {
ApiUsageLogger.logNullParam(Span.class, "setAttribute", "key");
}
return this;
}

@Override
public Span setAttribute(String key, double value) {
if (key == null) {
ApiUsageLogger.logNullParam(Span.class, "setAttribute", "key");
}
return this;
}

@Override
public Span setAttribute(String key, boolean value) {
if (key == null) {
ApiUsageLogger.logNullParam(Span.class, "setAttribute", "key");
}
return this;
}

@Override
public <T> Span setAttribute(AttributeKey<T> key, @Nullable T value) {
if (key == null) {
ApiUsageLogger.logNullParam(Span.class, "setAttribute", "key");
}
return this;
}

@Override
public Span setAllAttributes(Attributes attributes) {
if (attributes == null) {
ApiUsageLogger.logNullParam(Span.class, "setAllAttributes", "attributes");
}
return this;
}

@Override
public Span addEvent(String name) {
if (name == null) {
ApiUsageLogger.logNullParam(Span.class, "addEvent", "name");
}
return this;
}

@Override
public Span addEvent(String name, long timestamp, TimeUnit unit) {
if (name == null) {
ApiUsageLogger.logNullParam(Span.class, "addEvent", "name");
}
if (unit == null) {
ApiUsageLogger.logNullParam(Span.class, "addEvent", "unit");
}
return this;
}

@Override
public Span addEvent(String name, Attributes attributes) {
if (name == null) {
ApiUsageLogger.logNullParam(Span.class, "addEvent", "name");
}
if (attributes == null) {
ApiUsageLogger.logNullParam(Span.class, "addEvent", "attributes");
}
return this;
}

@Override
public Span addEvent(String name, Attributes attributes, long timestamp, TimeUnit unit) {
if (name == null) {
ApiUsageLogger.logNullParam(Span.class, "addEvent", "name");
}
if (attributes == null) {
ApiUsageLogger.logNullParam(Span.class, "addEvent", "attributes");
}
if (unit == null) {
ApiUsageLogger.logNullParam(Span.class, "addEvent", "unit");
}
return this;
}

@Override
public Span setStatus(StatusCode statusCode) {
if (statusCode == null) {
ApiUsageLogger.logNullParam(Span.class, "setStatus", "statusCode");
}
return this;
}

@Override
public Span setStatus(StatusCode statusCode, String description) {
if (statusCode == null) {
ApiUsageLogger.logNullParam(Span.class, "setStatus", "statusCode");
}
if (description == null) {
ApiUsageLogger.logNullParam(Span.class, "setStatus", "description");
}
return this;
}

@Override
public Span recordException(Throwable exception) {
if (exception == null) {
ApiUsageLogger.logNullParam(Span.class, "recordException", "exception");
}
return this;
}

@Override
public Span recordException(Throwable exception, Attributes additionalAttributes) {
if (exception == null) {
ApiUsageLogger.logNullParam(Span.class, "recordException", "exception");
}
if (additionalAttributes == null) {
ApiUsageLogger.logNullParam(Span.class, "recordException", "additionalAttributes");
}
return this;
}

@Override
public Span updateName(String name) {
if (name == null) {
ApiUsageLogger.logNullParam(Span.class, "updateName", "name");
}
return this;
}

@Override
public void end() {}

@Override
public void end(long timestamp, TimeUnit unit) {}
public void end(long timestamp, TimeUnit unit) {
if (unit == null) {
ApiUsageLogger.logNullParam(Span.class, "end", "unit");
}
}

@Override
public SpanContext getSpanContext() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.common.impl.ApiUsageLogger;
import io.opentelemetry.context.Context;
import java.time.Instant;
import java.util.concurrent.TimeUnit;
Expand Down Expand Up @@ -248,6 +249,10 @@ public interface SpanBuilder {
* @since 1.45.0
*/
default SpanBuilder setAttribute(AttributeKey<Long> key, int value) {
if (key == null) {
ApiUsageLogger.logNullParam(AttributeKey.class, "setAttribute", "key");
return this;
}
return setAttribute(key, (long) value);
}

Expand All @@ -261,7 +266,8 @@ default SpanBuilder setAttribute(AttributeKey<Long> key, int value) {
*/
@SuppressWarnings("unchecked")
default SpanBuilder setAllAttributes(Attributes attributes) {
if (attributes == null || attributes.isEmpty()) {
if (attributes == null) {
ApiUsageLogger.logNullParam(Attributes.class, "setAllAttributes", "attributes");
return this;
}
attributes.forEach(
Expand Down Expand Up @@ -307,6 +313,7 @@ default SpanBuilder setAllAttributes(Attributes attributes) {
*/
default SpanBuilder setStartTimestamp(Instant startTimestamp) {
if (startTimestamp == null) {
ApiUsageLogger.logNullParam(Instant.class, "setStartTimestamp", "startTimestamp");
return this;
}
return setStartTimestamp(
Expand Down
Loading
Loading