micrometer-metrics/micrometer
View on GitHubNative image config for netty in statsd module is not relocated during shading
Open
#3,212 opened on Jun 9, 2022
bughelp wantedregistry: statsdtheme: native-imagewaiting for feedback
Repository metrics
- Stars
- (4,220 stars)
- PR merge metrics
- (Avg merge 1d 21h) (100 merged PRs in 30d)
Description
statsd module uses a shaded netty that makes its packages io.micrometer.shaded.io.netty, and none of the standard native hints apply.
So far, I had to add (using spring-native) the following to get the app to start at least:
@NativeHint( // Micrometer
types = @TypeHint(
access = {TypeAccess.DECLARED_CLASSES, TypeAccess.DECLARED_CONSTRUCTORS, TypeAccess.DECLARED_METHODS},
typeNames = "io.micrometer.shaded.io.netty.buffer.AbstractByteBufAllocator"
)
)
@NativeHint(
types = {
@TypeHint(
typeNames = "io.micrometer.shaded.io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueColdProducerFields",
fields = @FieldHint(name = "producerLimit", allowUnsafeAccess = true)
),
@TypeHint(
typeNames = "io.micrometer.shaded.io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueConsumerFields",
fields = @FieldHint(name = "consumerIndex", allowUnsafeAccess = true)
),
@TypeHint(
typeNames = "io.micrometer.shaded.io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueProducerFields",
fields = @FieldHint(name = "producerIndex", allowUnsafeAccess = true)
),
@TypeHint(
typeNames = "io.micrometer.shaded.io.netty.util.ReferenceCountUtil",
methods = @MethodHint(name = "touch", parameterTypes = {Object.class})
)
}
)
But I might have to add more as I keep testing it.