Skip to content

Commit e43bcdd

Browse files
committed
define an implicit getPrettySimpleName
This is most consistent with Java API, it adds `obj.getClass.getPrettySimpleName` to the existing `obj.getClass.get*Name`. Instead we could go with a nicer `obj.prettyClassName`.
1 parent ffecd62 commit e43bcdd

File tree

23 files changed

+69
-54
lines changed

23 files changed

+69
-54
lines changed

eclair-core/src/main/scala/fr/acinq/eclair/channel/Channel.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2143,15 +2143,15 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder, remo
21432143
}
21442144

21452145
private def handleAddHtlcCommandError(c: CMD_ADD_HTLC, cause: ChannelException, channelUpdate: Option[ChannelUpdate]) = {
2146-
log.warning(s"${cause.getMessage} while processing cmd=${c.getClass.getSimpleName} in state=$stateName")
2146+
log.warning(s"${cause.getMessage} while processing cmd=${c.getClass.getPrettySimpleName} in state=$stateName")
21472147
val replyTo = if (c.replyTo == ActorRef.noSender) sender() else c.replyTo
21482148
replyTo ! RES_ADD_FAILED(c, cause, channelUpdate)
21492149
context.system.eventStream.publish(ChannelErrorOccurred(self, stateData.channelId, remoteNodeId, stateData, LocalError(cause), isFatal = false))
21502150
stay()
21512151
}
21522152

21532153
private def handleCommandError(cause: ChannelException, c: channel.Command) = {
2154-
log.warning(s"${cause.getMessage} while processing cmd=${c.getClass.getSimpleName} in state=$stateName")
2154+
log.warning(s"${cause.getMessage} while processing cmd=${c.getClass.getPrettySimpleName} in state=$stateName")
21552155
val replyTo_opt = c match {
21562156
case hasOptionalReplyTo: HasOptionalReplyToCommand => hasOptionalReplyTo.replyTo_opt
21572157
case hasReplyTo: HasReplyToCommand => if (hasReplyTo.replyTo == ActorRef.noSender) Some(sender()) else Some(hasReplyTo.replyTo)
@@ -2335,9 +2335,9 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder, remo
23352335
log.warning(s"force-closing channel at user request")
23362336
case _ if msg.exists(_.isInstanceOf[OpenChannel]) || msg.exists(_.isInstanceOf[AcceptChannel]) =>
23372337
// invalid remote channel parameters are logged as warning
2338-
log.warning(s"${cause.getMessage} while processing msg=${msg.getOrElse("n/a").getClass.getSimpleName} in state=$stateName")
2338+
log.warning(s"${cause.getMessage} while processing msg=${msg.getOrElse("n/a").getClass.getPrettySimpleName} in state=$stateName")
23392339
case _: ChannelException =>
2340-
log.error(s"${cause.getMessage} while processing msg=${msg.getOrElse("n/a").getClass.getSimpleName} in state=$stateName")
2340+
log.error(s"${cause.getMessage} while processing msg=${msg.getOrElse("n/a").getClass.getPrettySimpleName} in state=$stateName")
23412341
case _ =>
23422342
// unhandled error: we dump the channel data, and print the stack trace
23432343
log.error(cause, s"msg=${msg.getOrElse("n/a")} stateData=$stateData:")
@@ -2724,7 +2724,7 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder, remo
27242724
override val supervisorStrategy: OneForOneStrategy = OneForOneStrategy(loggingEnabled = true) { case _ => SupervisorStrategy.Escalate }
27252725

27262726
override def aroundReceive(receive: Actor.Receive, msg: Any): Unit = {
2727-
KamonExt.time(ProcessMessage.withTag("MessageType", msg.getClass.getSimpleName)) {
2727+
KamonExt.time(ProcessMessage.withTag("MessageType", msg.getClass.getPrettySimpleName)) {
27282728
super.aroundReceive(receive, msg)
27292729
}
27302730
}

eclair-core/src/main/scala/fr/acinq/eclair/crypto/TransportHandler.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import fr.acinq.eclair.crypto.ChaCha20Poly1305.ChaCha20Poly1305Error
2828
import fr.acinq.eclair.crypto.Noise._
2929
import fr.acinq.eclair.remote.EclairInternalsSerializer.RemoteTypes
3030
import fr.acinq.eclair.wire.protocol.{AnnouncementSignatures, RoutingMessage}
31-
import fr.acinq.eclair.{Diagnostics, FSMDiagnosticActorLogging, Logs, getSimpleClassName}
31+
import fr.acinq.eclair.{Diagnostics, FSMDiagnosticActorLogging, Logs, PrettySimpleClassName}
3232
import scodec.bits.ByteVector
3333
import scodec.{Attempt, Codec, DecodeResult}
3434

@@ -263,7 +263,7 @@ class TransportHandler[T: ClassTag](keyPair: KeyPair, rs: Option[ByteVector], co
263263
case Event(msg, d) =>
264264
d match {
265265
case n: NormalData[T] => log.warning(s"unhandled message $msg in state normal unackedSent=${n.unackedSent.size} unackedReceived=${n.unackedReceived.size} sendBuffer.lowPriority=${n.sendBuffer.lowPriority.size} sendBuffer.normalPriority=${n.sendBuffer.normalPriority.size}")
266-
case _ => log.warning(s"unhandled message $msg in state ${d.getClass.getSimpleName}")
266+
case _ => log.warning(s"unhandled message $msg in state ${d.getClass.getPrettySimpleName}")
267267
}
268268
stay()
269269
}
@@ -277,7 +277,7 @@ class TransportHandler[T: ClassTag](keyPair: KeyPair, rs: Option[ByteVector], co
277277
stateData match {
278278
case normal: NormalData[_] =>
279279
// NB: we deduplicate on the class name: each class will appear once but there may be many instances (less verbose and gives debug hints)
280-
log.info("stopping (unackedReceived={} unackedSent={})", normal.unackedReceived.keys.map(getSimpleClassName).toSet.mkString(","), normal.unackedSent.map(getSimpleClassName))
280+
log.info("stopping (unackedReceived={} unackedSent={})", normal.unackedReceived.keys.map(_.getClass.getPrettySimpleName).toSet.mkString(","), normal.unackedSent.map(_.getClass.getPrettySimpleName))
281281
case _ =>
282282
log.info("stopping")
283283
}

eclair-core/src/main/scala/fr/acinq/eclair/db/pg/PgAuditDb.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import fr.acinq.eclair.db.Monitoring.Tags.DbBackends
2626
import fr.acinq.eclair.db._
2727
import fr.acinq.eclair.payment._
2828
import fr.acinq.eclair.transactions.Transactions.PlaceHolderPubKey
29-
import fr.acinq.eclair.{MilliSatoshi, MilliSatoshiLong, TimestampMilli}
29+
import fr.acinq.eclair.{MilliSatoshi, MilliSatoshiLong, PrettySimpleClassName, TimestampMilli}
3030
import grizzled.slf4j.Logging
3131

3232
import java.sql.{Statement, Timestamp}
@@ -273,7 +273,7 @@ class PgAuditDb(implicit ds: DataSource) extends AuditDb with Logging {
273273
inTransaction { pg =>
274274
using(pg.prepareStatement("INSERT INTO audit.channel_errors VALUES (?, ?, ?, ?, ?, ?)")) { statement =>
275275
val (errorName, errorMessage) = e.error match {
276-
case LocalError(t) => (t.getClass.getSimpleName, t.getMessage)
276+
case LocalError(t) => (t.getClass.getPrettySimpleName, t.getMessage)
277277
case RemoteError(error) => ("remote", error.toAscii)
278278
}
279279
statement.setString(1, e.channelId.toHex)

eclair-core/src/main/scala/fr/acinq/eclair/db/pg/PgPaymentsDb.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ class PgPaymentsDb(implicit ds: DataSource, lock: PgLock) extends PaymentsDb wit
9494
}
9595

9696
override def addOutgoingPayment(sent: OutgoingPayment): Unit = withMetrics("payments/add-outgoing", DbBackends.Postgres) {
97-
require(sent.status == OutgoingPaymentStatus.Pending, s"outgoing payment isn't pending (${sent.status.getClass.getSimpleName})")
97+
require(sent.status == OutgoingPaymentStatus.Pending, s"outgoing payment isn't pending (${sent.status.getClass.getPrettySimpleName})")
9898
withLock { pg =>
9999
using(pg.prepareStatement("INSERT INTO payments.sent (id, parent_id, external_id, payment_hash, payment_type, amount_msat, recipient_amount_msat, recipient_node_id, created_at, payment_request) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")) { statement =>
100100
statement.setString(1, sent.id.toString)

eclair-core/src/main/scala/fr/acinq/eclair/db/sqlite/SqliteAuditDb.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import fr.acinq.eclair.db.Monitoring.Tags.DbBackends
2626
import fr.acinq.eclair.db._
2727
import fr.acinq.eclair.payment._
2828
import fr.acinq.eclair.transactions.Transactions.PlaceHolderPubKey
29-
import fr.acinq.eclair.{MilliSatoshi, MilliSatoshiLong, TimestampMilli}
29+
import fr.acinq.eclair.{MilliSatoshi, MilliSatoshiLong, PrettySimpleClassName, TimestampMilli}
3030
import grizzled.slf4j.Logging
3131

3232
import java.sql.{Connection, Statement}
@@ -269,7 +269,7 @@ class SqliteAuditDb(sqlite: Connection) extends AuditDb with Logging {
269269
override def add(e: ChannelErrorOccurred): Unit = withMetrics("audit/add-channel-error", DbBackends.Sqlite) {
270270
using(sqlite.prepareStatement("INSERT INTO channel_errors VALUES (?, ?, ?, ?, ?, ?)")) { statement =>
271271
val (errorName, errorMessage) = e.error match {
272-
case LocalError(t) => (t.getClass.getSimpleName, t.getMessage)
272+
case LocalError(t) => (t.getClass.getPrettySimpleName, t.getMessage)
273273
case RemoteError(error) => ("remote", error.toAscii)
274274
}
275275
statement.setBytes(1, e.channelId.toArray)

eclair-core/src/main/scala/fr/acinq/eclair/db/sqlite/SqlitePaymentsDb.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ class SqlitePaymentsDb(sqlite: Connection) extends PaymentsDb with Logging {
121121
}
122122

123123
override def addOutgoingPayment(sent: OutgoingPayment): Unit = withMetrics("payments/add-outgoing", DbBackends.Sqlite) {
124-
require(sent.status == OutgoingPaymentStatus.Pending, s"outgoing payment isn't pending (${sent.status.getClass.getSimpleName})")
124+
require(sent.status == OutgoingPaymentStatus.Pending, s"outgoing payment isn't pending (${sent.status.getClass.getPrettySimpleName})")
125125
using(sqlite.prepareStatement("INSERT INTO sent_payments (id, parent_id, external_id, payment_hash, payment_type, amount_msat, recipient_amount_msat, recipient_node_id, created_at, payment_request) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")) { statement =>
126126
statement.setString(1, sent.id.toString)
127127
statement.setString(2, sent.parentId.toString)

eclair-core/src/main/scala/fr/acinq/eclair/json/JsonSerializers.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import fr.acinq.eclair.transactions.DirectedHtlc
3535
import fr.acinq.eclair.transactions.Transactions._
3636
import fr.acinq.eclair.wire.protocol.MessageOnionCodecs.blindedRouteCodec
3737
import fr.acinq.eclair.wire.protocol._
38-
import fr.acinq.eclair.{CltvExpiry, CltvExpiryDelta, Feature, FeatureSupport, MilliSatoshi, ShortChannelId, TimestampMilli, TimestampSecond, UInt64, UnknownFeature}
38+
import fr.acinq.eclair.{CltvExpiry, CltvExpiryDelta, Feature, FeatureSupport, MilliSatoshi, PrettySimpleClassName, ShortChannelId, TimestampMilli, TimestampSecond, UInt64, UnknownFeature}
3939
import org.json4s
4040
import org.json4s.JsonAST._
4141
import org.json4s.jackson.Serialization
@@ -319,7 +319,7 @@ object PaymentFailedSummarySerializer extends ConvertClassSerializer[PaymentFail
319319

320320
object ThrowableSerializer extends MinimalSerializer({
321321
case t: Throwable if t.getMessage != null => JString(t.getMessage)
322-
case t: Throwable => JString(t.getClass.getSimpleName)
322+
case t: Throwable => JString(t.getClass.getPrettySimpleName)
323323
})
324324

325325
object FailureMessageSerializer extends MinimalSerializer({
@@ -400,7 +400,7 @@ object ChannelEventSerializer extends MinimalSerializer({
400400
case e: ChannelClosed => JObject(
401401
JField("type", JString("channel-closed")),
402402
JField("channelId", JString(e.channelId.toHex)),
403-
JField("closingType", JString(e.closingType.getClass.getSimpleName))
403+
JField("closingType", JString(e.closingType.getClass.getPrettySimpleName))
404404
)
405405
})
406406

eclair-core/src/main/scala/fr/acinq/eclair/package.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,9 @@ package object eclair {
138138
// @formatter:on
139139
}
140140

141-
/**
142-
* Apparently .getClass.getSimpleName can crash java 8 with a "Malformed class name" error
143-
*/
144-
def getSimpleClassName(o: Any): String = o.getClass.getName.split("\\$").last
141+
implicit class PrettySimpleClassName[T](private val o: Class[T]) extends AnyVal {
142+
/** This removes trailing $ from `case object` class names */
143+
def getPrettySimpleName: String = o.getSimpleName.replace("$", "")
144+
}
145145

146146
}

eclair-core/src/main/scala/fr/acinq/eclair/payment/Monitoring.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
package fr.acinq.eclair.payment
1818

1919
import fr.acinq.bitcoin.Crypto.PublicKey
20-
import fr.acinq.eclair.MilliSatoshi
20+
import fr.acinq.eclair.{MilliSatoshi, PrettySimpleClassName}
2121
import fr.acinq.eclair.channel.CMD_FAIL_HTLC
2222
import kamon.Kamon
2323

@@ -119,12 +119,12 @@ object Monitoring {
119119

120120
def apply(cmdFail: CMD_FAIL_HTLC): String = cmdFail.reason match {
121121
case Left(_) => Remote
122-
case Right(f) => f.getClass.getSimpleName
122+
case Right(f) => f.getClass.getPrettySimpleName
123123
}
124124

125125
def apply(pf: PaymentFailure): String = pf match {
126-
case LocalFailure(_, _, t) => t.getClass.getSimpleName
127-
case RemoteFailure(_, _, e) => e.failureMessage.getClass.getSimpleName
126+
case LocalFailure(_, _, t) => t.getClass.getPrettySimpleName
127+
case RemoteFailure(_, _, e) => e.failureMessage.getClass.getPrettySimpleName
128128
case UnreadableRemoteFailure(_, _) => "UnreadableRemoteFailure"
129129
}
130130
}

eclair-core/src/main/scala/fr/acinq/eclair/payment/receive/MultiPartHandler.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ class MultiPartHandler(nodeParams: NodeParams, register: ActorRef, db: IncomingP
112112

113113
case MultiPartPaymentFSM.MultiPartPaymentFailed(paymentHash, failure, parts) if doHandle(paymentHash) =>
114114
Logs.withMdc(log)(Logs.mdc(paymentHash_opt = Some(paymentHash))) {
115-
Metrics.PaymentFailed.withTag(Tags.Direction, Tags.Directions.Received).withTag(Tags.Failure, failure.getClass.getSimpleName).increment()
115+
Metrics.PaymentFailed.withTag(Tags.Direction, Tags.Directions.Received).withTag(Tags.Failure, failure.getClass.getPrettySimpleName).increment()
116116
log.warning("payment with paidAmount={} failed ({})", parts.map(_.amount).sum, failure)
117117
pendingPayments.get(paymentHash).foreach { case (_, handler: ActorRef) => handler ! PoisonPill }
118118
parts.collect {

eclair-core/src/main/scala/fr/acinq/eclair/payment/receive/MultiPartPaymentFSM.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ class MultiPartPaymentFSM(nodeParams: NodeParams, paymentHash: ByteVector32, tot
9999
replyTo ! MultiPartPaymentSucceeded(paymentHash, parts)
100100
Metrics.ReceivedPaymentDuration.withTag(Tags.Success, value = true).record((TimestampMilli.now() - start).toMillis, TimeUnit.MILLISECONDS)
101101
case d =>
102-
log.error("unexpected payment success data {}", d.getClass.getSimpleName)
102+
log.error("unexpected payment success data {}", d.getClass.getPrettySimpleName)
103103
}
104104
case _ -> PAYMENT_FAILED =>
105105
nextStateData match {
@@ -108,7 +108,7 @@ class MultiPartPaymentFSM(nodeParams: NodeParams, paymentHash: ByteVector32, tot
108108
replyTo ! MultiPartPaymentFailed(paymentHash, failure, parts)
109109
Metrics.ReceivedPaymentDuration.withTag(Tags.Success, value = false).record((TimestampMilli.now() - start).toMillis, TimeUnit.MILLISECONDS)
110110
case d =>
111-
log.error("unexpected payment failure data {}", d.getClass.getSimpleName)
111+
log.error("unexpected payment failure data {}", d.getClass.getPrettySimpleName)
112112
}
113113
}
114114

eclair-core/src/main/scala/fr/acinq/eclair/payment/receive/PaymentHandler.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class PaymentHandler(nodeParams: NodeParams, register: ActorRef) extends Actor w
3838

3939
private def addReceiveHandler(handle: Receive): Receive = {
4040
case handler: ReceiveHandler =>
41-
log.info(s"registering handler of type=${handler.getClass.getSimpleName}")
41+
log.info(s"registering handler of type=${handler.getClass.getPrettySimpleName}")
4242
// NB: the last handler that was added will be the first called
4343
context become normal(handler.handle(context, log) orElse handle)
4444
}

eclair-core/src/main/scala/fr/acinq/eclair/payment/relay/ChannelRelay.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ class ChannelRelay private(nodeParams: NodeParams,
132132
safeSendAndStop(o.add.channelId, cmdFail)
133133

134134
case WrappedAddResponse(addFailed@RES_ADD_FAILED(CMD_ADD_HTLC(_, _, _, _, _, _: Origin.ChannelRelayedHot, _), _, _)) =>
135-
context.log.info("attempt failed with reason={}", addFailed.t.getClass.getSimpleName)
135+
context.log.info("attempt failed with reason={}", addFailed.t.getClass.getPrettySimpleName)
136136
context.self ! DoRelay
137137
relay(previousFailures :+ PreviouslyTried(selectedShortChannelId, addFailed))
138138

eclair-core/src/main/scala/fr/acinq/eclair/payment/relay/NodeRelay.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ class NodeRelay private(nodeParams: NodeParams,
187187
receiving(htlcs :+ add, nextPayload, nextPacket, handler)
188188
case WrappedMultiPartPaymentFailed(MultiPartPaymentFSM.MultiPartPaymentFailed(_, failure, parts)) =>
189189
context.log.warn("could not complete incoming multi-part payment (parts={} paidAmount={} failure={})", parts.size, parts.map(_.amount).sum, failure)
190-
Metrics.recordPaymentRelayFailed(failure.getClass.getSimpleName, Tags.RelayType.Trampoline)
190+
Metrics.recordPaymentRelayFailed(failure.getClass.getPrettySimpleName, Tags.RelayType.Trampoline)
191191
parts.collect { case p: MultiPartPaymentFSM.HtlcPart => rejectHtlc(p.htlc.id, p.htlc.channelId, p.amount, Some(failure)) }
192192
stopping()
193193
case WrappedMultiPartPaymentSucceeded(MultiPartPaymentFSM.MultiPartPaymentSucceeded(_, parts)) =>
@@ -319,7 +319,7 @@ class NodeRelay private(nodeParams: NodeParams,
319319
}
320320

321321
private def rejectPayment(upstream: Upstream.Trampoline, failure: Option[FailureMessage]): Unit = {
322-
Metrics.recordPaymentRelayFailed(failure.map(_.getClass.getSimpleName).getOrElse("Unknown"), Tags.RelayType.Trampoline)
322+
Metrics.recordPaymentRelayFailed(failure.map(_.getClass.getPrettySimpleName).getOrElse("Unknown"), Tags.RelayType.Trampoline)
323323
upstream.adds.foreach(add => rejectHtlc(add.id, add.channelId, upstream.amountIn, failure))
324324
}
325325

eclair-core/src/main/scala/fr/acinq/eclair/payment/relay/PostRestartHtlcCleaner.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ class PostRestartHtlcCleaner(nodeParams: NodeParams, register: ActorRef, initial
136136
handleDownstreamFulfill(brokenHtlcs, o, htlc, fulfill.paymentPreimage)
137137

138138
case RES_ADD_SETTLED(o: Origin.Cold, htlc, fail: HtlcResult.Fail) =>
139-
log.info("htlc failed downstream: ({},{},{})", htlc.channelId, htlc.id, fail.getClass.getSimpleName)
139+
log.info("htlc failed downstream: ({},{},{})", htlc.channelId, htlc.id, fail.getClass.getPrettySimpleName)
140140
handleDownstreamFailure(brokenHtlcs, o, htlc, fail)
141141

142142
case GetBrokenHtlcs => sender() ! brokenHtlcs

eclair-core/src/main/scala/fr/acinq/eclair/remote/ScodecSerializer.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616

1717
package fr.acinq.eclair.remote
1818

19-
import java.nio.ByteBuffer
20-
2119
import akka.serialization.{ByteBufferSerializer, SerializerWithStringManifest}
2220
import scodec.Codec
2321
import scodec.bits.BitVector
2422

23+
import java.nio.ByteBuffer
24+
2525
class ScodecSerializer[T <: AnyRef](override val identifier: Int, codec: Codec[T]) extends SerializerWithStringManifest with ByteBufferSerializer {
2626

2727
override def toBinary(o: AnyRef, buf: ByteBuffer): Unit = buf.put(toBinary(o))
@@ -33,7 +33,7 @@ class ScodecSerializer[T <: AnyRef](override val identifier: Int, codec: Codec[T
3333
}
3434

3535
/** we don't rely on the manifest to provide backward compatibility, we will use dedicated codecs instead */
36-
override def manifest(o: AnyRef): String = fr.acinq.eclair.getSimpleClassName(o)
36+
override def manifest(o: AnyRef): String = o.getClass.getName
3737

3838
override def toBinary(o: AnyRef): Array[Byte] = codec.encode(o.asInstanceOf[T]).require.toByteArray
3939

eclair-core/src/main/scala/fr/acinq/eclair/router/Monitoring.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package fr.acinq.eclair.router
1919
import fr.acinq.bitcoin.{BtcDouble, MilliBtcDouble, SatoshiLong}
2020
import fr.acinq.eclair.router.Router.GossipDecision
2121
import fr.acinq.eclair.wire.protocol.ChannelUpdate
22-
import fr.acinq.eclair.{MilliSatoshi, getSimpleClassName}
22+
import fr.acinq.eclair.{MilliSatoshi, PrettySimpleClassName}
2323
import kamon.Kamon
2424
import kamon.metric.{Counter, MeasurementUnit}
2525

@@ -64,7 +64,7 @@ object Monitoring {
6464

6565
def gossipResult(decision: GossipDecision): Counter = decision match {
6666
case _: GossipDecision.Accepted => GossipResult.withTag("result", "accepted")
67-
case rejected: GossipDecision.Rejected => GossipResult.withTag("result", "rejected").withTag("reason", getSimpleClassName(rejected))
67+
case rejected: GossipDecision.Rejected => GossipResult.withTag("result", "rejected").withTag("reason", rejected.getClass.getPrettySimpleName)
6868
}
6969
}
7070

eclair-core/src/main/scala/fr/acinq/eclair/router/RouteCalculation.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ object RouteCalculation {
140140
ctx.sender() ! Status.Failure(failure)
141141
case Failure(t) =>
142142
val failure = if (isNeighborBalanceTooLow(d.graph, r)) BalanceTooLow else t
143-
Metrics.FindRouteErrors.withTags(tags.withTag(Tags.Error, failure.getClass.getSimpleName)).increment()
143+
Metrics.FindRouteErrors.withTags(tags.withTag(Tags.Error, failure.getClass.getPrettySimpleName)).increment()
144144
ctx.sender() ! Status.Failure(failure)
145145
}
146146
}

eclair-core/src/main/scala/fr/acinq/eclair/wire/protocol/LightningMessageCodecs.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -389,14 +389,14 @@ object LightningMessageCodecs {
389389
discriminatorWithDefault(lightningMessageCodec, unknownMessageCodec.upcast)
390390

391391
val meteredLightningMessageCodec = Codec[LightningMessage](
392-
(msg: LightningMessage) => KamonExt.time(Metrics.EncodeDuration.withTag(Tags.MessageType, msg.getClass.getSimpleName))(lightningMessageCodecWithFallback.encode(msg)),
392+
(msg: LightningMessage) => KamonExt.time(Metrics.EncodeDuration.withTag(Tags.MessageType, msg.getClass.getPrettySimpleName))(lightningMessageCodecWithFallback.encode(msg)),
393393
(bits: BitVector) => {
394394
// this is a bit more involved, because we don't know beforehand what the type of the message will be
395395
val begin = System.nanoTime()
396396
val res = lightningMessageCodecWithFallback.decode(bits)
397397
val end = System.nanoTime()
398398
val messageType = res match {
399-
case Attempt.Successful(decoded) => decoded.value.getClass.getSimpleName
399+
case Attempt.Successful(decoded) => decoded.value.getClass.getPrettySimpleName
400400
case Attempt.Failure(_) => "unknown"
401401
}
402402
Metrics.DecodeDuration.withTag(Tags.MessageType, messageType).record(end - begin)

0 commit comments

Comments
 (0)