java.lang.StringIndexOutOfBoundsException:String index out of range: -1
at java.lang.String.substring(String.java:1931)
at org.bithon.server.sink.common.utils.MiscUtils.parseConnectionString(MiscUtils.java:71)
at org.bithon.server.sink.metrics.transformer.ConnectionStringTransformer.transform(ConnectionStringTransformer.java:44)
at org.bithon.server.storage.datasource.input.TransformSpec.transform(TransformSpec.java:93)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
at org.bithon.server.sink.metrics.MetricMessageHandler$MetricSinkRunnable.run(MetricMessageHandler.java:130)
at org.bithon.agent.plugin.thread.utils.ObservedTask.runWithTracing(ObservedTask.java:71)
at org.bithon.agent.plugin.thread.utils.ObservedTask.run(ObservedTask.java:58)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)