Skip to content

Commit 7a126d9

Browse files
authored
Merge pull request #32 from sourceplusplus/dev
v0.4.0
2 parents bc1f029 + 8a84e3f commit 7a126d9

File tree

9 files changed

+33
-41
lines changed

9 files changed

+33
-41
lines changed

build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ apollo {
152152

153153
spotless {
154154
kotlin {
155+
targetExclude("**/generated/**")
155156
licenseHeaderFile(file("LICENSE-HEADER.txt"))
156157
}
157158
}

gradle.properties

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
kotlin.code.style=official
22

33
cliGroup=com.sourceplusplus
4-
projectVersion=0.3.1
4+
projectVersion=0.4.0
55

66
vertxVersion=4.2.4
77
graalVersion = 21.3.0
8-
jacksonVersion = 2.12.5
9-
apolloVersion=3.0.0
8+
jacksonVersion=2.13.1
9+
apolloVersion=3.1.0
1010
commonsLang3Version = 3.12.0
1111
cliktVersion = 3.2.0
1212
bouncycastleVersion = 1.69

settings.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ pluginManagement {
1010
id 'com.avast.gradle.docker-compose' version "0.15.0" apply false
1111
id 'io.gitlab.arturbosch.detekt' version "1.19.0" apply false
1212
id 'com.github.johnrengelman.shadow' version "7.1.2" apply false
13-
id 'com.apollographql.apollo3' version "3.0.0" apply false
13+
id 'com.apollographql.apollo3' version "3.1.0" apply false
1414
id 'org.mikeneck.graalvm-native-image' version "1.4.1" apply false
1515
id 'com.diffplug.spotless' version '6.2.1' apply false
1616
}

src/main/kotlin/spp/cli/PlatformCLI.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ import org.bouncycastle.openssl.PEMKeyPair
4343
import org.bouncycastle.openssl.PEMParser
4444
import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter
4545
import org.bouncycastle.util.encoders.Hex
46-
import spp.protocol.developer.Developer
46+
import spp.protocol.platform.developer.Developer
4747
import spp.protocol.util.KSerializers
4848
import java.io.File
4949
import java.io.StringReader

src/main/kotlin/spp/cli/commands/instrument/SubscribeEvents.kt

+13-20
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,13 @@ import io.vertx.ext.eventbus.bridge.tcp.impl.protocol.FrameParser
3535
import io.vertx.kotlin.coroutines.await
3636
import kotlinx.coroutines.runBlocking
3737
import spp.cli.PlatformCLI
38-
import spp.protocol.SourceMarkerServices
38+
import spp.protocol.ProtocolMarshaller.deserializeLiveInstrumentRemoved
39+
import spp.protocol.SourceServices.Provide.toLiveInstrumentSubscriberAddress
3940
import spp.protocol.extend.TCPServiceFrameParser
40-
import spp.protocol.instrument.LiveInstrumentEvent
41-
import spp.protocol.instrument.LiveInstrumentEventType
42-
import spp.protocol.instrument.breakpoint.event.LiveBreakpointHit
43-
import spp.protocol.instrument.breakpoint.event.LiveBreakpointRemoved
44-
import spp.protocol.instrument.log.event.LiveLogHit
45-
import spp.protocol.instrument.log.event.LiveLogRemoved
41+
import spp.protocol.instrument.event.LiveBreakpointHit
42+
import spp.protocol.instrument.event.LiveInstrumentEvent
43+
import spp.protocol.instrument.event.LiveInstrumentEventType
44+
import spp.protocol.instrument.event.LiveLogHit
4645

4746
class SubscribeEvents : CliktCommand(
4847
help = "Listens for and outputs live events. Subscribes to all events by default"
@@ -89,7 +88,7 @@ class SubscribeEvents : CliktCommand(
8988
).await()
9089
socket!!.handler(FrameParser(TCPServiceFrameParser(vertx, socket)))
9190

92-
vertx.eventBus().consumer<JsonObject>("local." + SourceMarkerServices.Provide.LIVE_INSTRUMENT_SUBSCRIBER) {
91+
vertx.eventBus().consumer<JsonObject>(toLiveInstrumentSubscriberAddress(PlatformCLI.developer.id)) {
9392
val liveEvent = Json.decodeValue(it.body().toString(), LiveInstrumentEvent::class.java)
9493

9594
//todo: impl filter on platform
@@ -107,15 +106,9 @@ class SubscribeEvents : CliktCommand(
107106
return@consumer
108107
}
109108
}
110-
LiveInstrumentEventType.BREAKPOINT_REMOVED -> {
111-
val breakpointRemoved = Json.decodeValue(liveEvent.data, LiveBreakpointRemoved::class.java)
112-
if (breakpointRemoved.breakpointId !in instrumentIds) {
113-
return@consumer
114-
}
115-
}
116-
LiveInstrumentEventType.LOG_REMOVED -> {
117-
val logRemoved = Json.decodeValue(liveEvent.data, LiveLogRemoved::class.java)
118-
if (logRemoved.logId !in instrumentIds) {
109+
LiveInstrumentEventType.BREAKPOINT_REMOVED, LiveInstrumentEventType.LOG_REMOVED -> {
110+
val logRemoved = deserializeLiveInstrumentRemoved(JsonObject(liveEvent.data))
111+
if (logRemoved.liveInstrument.id !in instrumentIds) {
119112
return@consumer
120113
}
121114
}
@@ -164,9 +157,9 @@ class SubscribeEvents : CliktCommand(
164157
//register listener
165158
FrameHelper.sendFrame(
166159
BridgeEventType.REGISTER.name.lowercase(),
167-
SourceMarkerServices.Provide.LIVE_INSTRUMENT_SUBSCRIBER,
168-
JsonObject(),
169-
socket
160+
toLiveInstrumentSubscriberAddress(PlatformCLI.developer.id), null,
161+
JsonObject().apply { PlatformCLI.developer.accessToken?.let { put("auth-token", it) } },
162+
null, null, socket
170163
)
171164
println("Listening for events...")
172165
}

src/main/kotlin/spp/cli/commands/view/SubscribeView.kt

+6-8
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
package spp.cli.commands.view
1919

2020
import com.github.ajalt.clikt.core.CliktCommand
21-
import com.github.ajalt.clikt.parameters.arguments.argument
22-
import com.github.ajalt.clikt.parameters.arguments.multiple
2321
import com.github.ajalt.clikt.parameters.options.flag
2422
import com.github.ajalt.clikt.parameters.options.option
2523
import eu.geekplace.javapinning.JavaPinning
@@ -36,7 +34,7 @@ import io.vertx.ext.eventbus.bridge.tcp.impl.protocol.FrameParser
3634
import io.vertx.kotlin.coroutines.await
3735
import kotlinx.coroutines.runBlocking
3836
import spp.cli.PlatformCLI
39-
import spp.protocol.SourceMarkerServices.Provide.LIVE_VIEW_SUBSCRIBER
37+
import spp.protocol.SourceServices.Provide.toLiveViewSubscriberAddress
4038
import spp.protocol.artifact.log.Log
4139
import spp.protocol.artifact.log.LogOrderType
4240
import spp.protocol.artifact.log.LogResult
@@ -93,7 +91,7 @@ class SubscribeView : CliktCommand(
9391
).await()
9492
socket!!.handler(FrameParser(TCPServiceFrameParser(vertx, socket)))
9593

96-
vertx.eventBus().consumer<JsonObject>("local.$LIVE_VIEW_SUBSCRIBER.${PlatformCLI.developer.id}") {
94+
vertx.eventBus().consumer<JsonObject>(toLiveViewSubscriberAddress(PlatformCLI.developer.id)) {
9795
val event = Json.decodeValue(it.body().toString(), LiveViewEvent::class.java)
9896
if (outputFullEvent) {
9997
println(event.metricsData)
@@ -109,9 +107,9 @@ class SubscribeView : CliktCommand(
109107
//register listener
110108
FrameHelper.sendFrame(
111109
BridgeEventType.REGISTER.name.lowercase(),
112-
"$LIVE_VIEW_SUBSCRIBER.${PlatformCLI.developer.id}",
113-
JsonObject(),
114-
socket
110+
toLiveViewSubscriberAddress(PlatformCLI.developer.id), null,
111+
JsonObject().apply { PlatformCLI.developer.accessToken?.let { put("auth-token", it) } },
112+
null, null, socket
115113
)
116114
println("Listening for events...")
117115
}
@@ -144,7 +142,7 @@ class SubscribeView : CliktCommand(
144142
Int.MAX_VALUE
145143
)
146144
logsResult.logs.forEach {
147-
println(it.getFormattedMessage())
145+
println(it.toFormattedMessage())
148146
}
149147
}
150148
}

src/test/kotlin/integration/BatchLiveInstrumentCLI.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ import org.junit.jupiter.api.Assertions.assertEquals
2222
import org.junit.jupiter.api.Assertions.assertNotNull
2323
import org.junit.jupiter.api.Test
2424
import spp.cli.Main
25+
import spp.protocol.instrument.LiveBreakpoint
2526
import spp.protocol.instrument.LiveInstrument
26-
import spp.protocol.instrument.breakpoint.LiveBreakpoint
2727

2828
class BatchLiveInstrumentCLI : CLIIntegrationTest() {
2929

src/test/kotlin/integration/CLIIntegrationTest.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ import io.vertx.core.json.Json
2222
import io.vertx.core.json.JsonArray
2323
import io.vertx.core.json.jackson.DatabindCodec
2424
import spp.cli.Main
25-
import spp.protocol.instrument.breakpoint.LiveBreakpoint
26-
import spp.protocol.instrument.log.LiveLog
27-
import spp.protocol.instrument.meter.LiveMeter
28-
import spp.protocol.instrument.span.LiveSpan
25+
import spp.protocol.instrument.LiveBreakpoint
26+
import spp.protocol.instrument.LiveLog
27+
import spp.protocol.instrument.LiveMeter
28+
import spp.protocol.instrument.LiveSpan
2929
import java.io.OutputStream
3030
import java.io.PrintStream
3131
import kotlin.reflect.KClass

src/test/kotlin/integration/LiveInstrumentCLI.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717
*/
1818
package integration
1919

20-
import spp.protocol.instrument.LiveInstrument
21-
import spp.protocol.instrument.breakpoint.LiveBreakpoint
22-
import spp.protocol.instrument.log.LiveLog
2320
import io.vertx.core.json.Json
2421
import org.junit.jupiter.api.Assertions.*
2522
import org.junit.jupiter.api.Test
2623
import spp.cli.Main
24+
import spp.protocol.instrument.LiveBreakpoint
25+
import spp.protocol.instrument.LiveInstrument
26+
import spp.protocol.instrument.LiveLog
2727

2828
class LiveInstrumentCLI : CLIIntegrationTest() {
2929

0 commit comments

Comments
 (0)