Skip to content

Commit e30ad97

Browse files
authored
jmx move to internal package + deprecate old API (#15658)
1 parent 7e4587c commit e30ad97

30 files changed

Lines changed: 124 additions & 60 deletions

instrumentation/jmx-metrics/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/jmx/JmxMetricInsightInstallerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
import io.opentelemetry.api.OpenTelemetry;
1111
import io.opentelemetry.instrumentation.jmx.JmxTelemetry;
12-
import io.opentelemetry.instrumentation.jmx.yaml.RuleParser;
12+
import io.opentelemetry.instrumentation.jmx.internal.yaml.RuleParser;
1313
import java.nio.file.Path;
1414
import java.nio.file.Paths;
1515
import java.util.Arrays;

instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/JmxTelemetry.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
import com.google.errorprone.annotations.CanIgnoreReturnValue;
99
import io.opentelemetry.api.OpenTelemetry;
10-
import io.opentelemetry.instrumentation.jmx.engine.JmxMetricInsight;
11-
import io.opentelemetry.instrumentation.jmx.engine.MetricConfiguration;
10+
import io.opentelemetry.instrumentation.jmx.internal.engine.JmxMetricInsight;
11+
import io.opentelemetry.instrumentation.jmx.internal.engine.MetricConfiguration;
1212
import java.util.List;
1313
import java.util.function.Supplier;
1414
import javax.management.MBeanServerConnection;

instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/JmxTelemetryBuilder.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99

1010
import com.google.errorprone.annotations.CanIgnoreReturnValue;
1111
import io.opentelemetry.api.OpenTelemetry;
12-
import io.opentelemetry.instrumentation.jmx.engine.MetricConfiguration;
13-
import io.opentelemetry.instrumentation.jmx.yaml.RuleParser;
12+
import io.opentelemetry.instrumentation.jmx.internal.engine.MetricConfiguration;
13+
import io.opentelemetry.instrumentation.jmx.internal.yaml.RuleParser;
1414
import java.io.IOException;
1515
import java.io.InputStream;
1616
import java.nio.file.Files;
@@ -54,8 +54,9 @@ public JmxTelemetryBuilder beanDiscoveryDelay(Duration delay) {
5454
* @param target name of target in /jmx/rules/{target}.yaml classpath resource
5555
* @return builder instance
5656
* @throws IllegalArgumentException when classpath resource does not exist or can't be parsed
57+
* @deprecated use {@link #addRules(InputStream)} instead
5758
*/
58-
// TODO: deprecate this method after 2.23.0 release in favor of addRules
59+
@Deprecated
5960
@CanIgnoreReturnValue
6061
public JmxTelemetryBuilder addClassPathRules(String target) {
6162
String resourcePath = String.format("jmx/rules/%s.yaml", target);
@@ -111,8 +112,9 @@ public JmxTelemetryBuilder addRules(Path path) {
111112
* @param path path to yaml file
112113
* @return builder instance
113114
* @throws IllegalArgumentException when classpath resource does not exist or can't be parsed
115+
* @deprecated use {@link #addRules(Path)} instead
114116
*/
115-
// TODO: deprecate this method after 2.23.0 release in favor of addRules
117+
@Deprecated
116118
@CanIgnoreReturnValue
117119
public JmxTelemetryBuilder addCustomRules(Path path) {
118120
return addRules(path);

instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/engine/AttributeInfo.java renamed to instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/internal/engine/AttributeInfo.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.jmx.engine;
6+
package io.opentelemetry.instrumentation.jmx.internal.engine;
77

88
import javax.annotation.Nullable;
99

instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/engine/BeanAttributeExtractor.java renamed to instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/internal/engine/BeanAttributeExtractor.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.jmx.engine;
6+
package io.opentelemetry.instrumentation.jmx.internal.engine;
77

88
import static java.util.logging.Level.FINE;
99
import static java.util.logging.Level.INFO;
1010

11-
import io.opentelemetry.instrumentation.jmx.yaml.StateMapping;
11+
import io.opentelemetry.instrumentation.jmx.internal.yaml.StateMapping;
1212
import java.util.ArrayList;
1313
import java.util.List;
1414
import java.util.logging.Level;
@@ -25,6 +25,9 @@
2525
/**
2626
* A class responsible for extracting attribute values from MBeans. Objects of this class are
2727
* immutable.
28+
*
29+
* <p>This class is internal and is hence not for public use. Its APIs are unstable and can change
30+
* at any time.
2831
*/
2932
public class BeanAttributeExtractor implements MetricAttributeExtractor {
3033

instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/engine/BeanFinder.java renamed to instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/internal/engine/BeanFinder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.jmx.engine;
6+
package io.opentelemetry.instrumentation.jmx.internal.engine;
77

88
import java.io.IOException;
99
import java.lang.management.ManagementFactory;

instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/engine/BeanGroup.java renamed to instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/internal/engine/BeanGroup.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.jmx.engine;
6+
package io.opentelemetry.instrumentation.jmx.internal.engine;
77

88
import java.util.ArrayList;
99
import java.util.List;
@@ -15,6 +15,9 @@
1515
/**
1616
* A class describing a set of MBeans which can be used to collect values for a metric. Objects of
1717
* this class are immutable.
18+
*
19+
* <p>This class is internal and is hence not for public use. Its APIs are unstable and can change
20+
* at any time.
1821
*/
1922
public class BeanGroup {
2023
// How to specify the MBean(s)

instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/engine/DetectionStatus.java renamed to instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/internal/engine/DetectionStatus.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.jmx.engine;
6+
package io.opentelemetry.instrumentation.jmx.internal.engine;
77

88
import java.util.Collection;
99
import javax.management.MBeanServerConnection;

instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/engine/JmxMetricInsight.java renamed to instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/internal/engine/JmxMetricInsight.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.jmx.engine;
6+
package io.opentelemetry.instrumentation.jmx.internal.engine;
77

88
import static java.util.logging.Level.FINE;
99

@@ -14,7 +14,12 @@
1414
import javax.management.MBeanServerConnection;
1515
import javax.management.MBeanServerFactory;
1616

17-
/** Collecting and exporting JMX metrics. */
17+
/**
18+
* Collecting and exporting JMX metrics.
19+
*
20+
* <p>This class is internal and is hence not for public use. Its APIs are unstable and can change
21+
* at any time.
22+
*/
1823
public class JmxMetricInsight {
1924

2025
private static final Logger logger = Logger.getLogger(JmxMetricInsight.class.getName());

instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/engine/MetricAttribute.java renamed to instrumentation/jmx-metrics/library/src/main/java/io/opentelemetry/instrumentation/jmx/internal/engine/MetricAttribute.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.jmx.engine;
6+
package io.opentelemetry.instrumentation.jmx.internal.engine;
77

88
import javax.annotation.Nullable;
99
import javax.management.MBeanServerConnection;
@@ -13,6 +13,9 @@
1313
* A class representing a metric attribute. It is responsible for extracting the attribute value (to
1414
* be reported as a Measurement attribute), and for holding the corresponding attribute name to be
1515
* used. Objects of this class are immutable.
16+
*
17+
* <p>This class is internal and is hence not for public use. Its APIs are unstable and can change
18+
* at any time.
1619
*/
1720
public class MetricAttribute {
1821
private final String name;

0 commit comments

Comments
 (0)