Skip to content
Merged

Dev #685

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
1717e12
protocol update
BFergerson Feb 1, 2022
426b2c3
bump
BFergerson Feb 1, 2022
bb39912
Merge branch 'master' into v0.3.1
BFergerson Feb 1, 2022
cef8a4c
Merge branch 'master' into v0.3.1
BFergerson Feb 1, 2022
2309c7d
refactor
BFergerson Feb 1, 2022
97c9f98
refactor
BFergerson Feb 1, 2022
cf5bd28
refactor
BFergerson Feb 1, 2022
1d72d63
temp version
BFergerson Feb 1, 2022
a42551b
refactor
BFergerson Feb 1, 2022
56e7adb
refactor
BFergerson Feb 1, 2022
13fb127
refactor
BFergerson Feb 1, 2022
d0f9347
clean
BFergerson Feb 1, 2022
3fac954
organize imports
BFergerson Feb 1, 2022
1f99248
refactor
BFergerson Feb 1, 2022
c1d4142
refactor
BFergerson Feb 2, 2022
d254f17
bump
BFergerson Feb 2, 2022
b2b515e
bump
BFergerson Feb 2, 2022
efe60d6
refactor
BFergerson Feb 2, 2022
f7ba079
validate marker auth over tcp
BFergerson Feb 2, 2022
b4b904c
refactor
BFergerson Feb 2, 2022
eafc6da
bump
BFergerson Feb 2, 2022
42aa9d6
refactor
BFergerson Feb 2, 2022
5d67313
bump
BFergerson Feb 2, 2022
6eb1e98
bump
BFergerson Feb 2, 2022
e9337ca
backwards compatibility issues
BFergerson Feb 2, 2022
b6b42da
bump
BFergerson Feb 2, 2022
8ed4ac8
bump
BFergerson Feb 2, 2022
efcee42
bump
BFergerson Feb 2, 2022
f7dee33
Merge branch 'master' into dev
BFergerson Feb 5, 2022
c77f097
moved packages
BFergerson Feb 5, 2022
af3cc60
refactor
BFergerson Feb 5, 2022
135a416
better error message
BFergerson Feb 5, 2022
d0f1a17
bump
BFergerson Feb 5, 2022
eccbd2d
bump
BFergerson Feb 5, 2022
c592d2c
use official lib
BFergerson Feb 6, 2022
75d5491
Update build.gradle.kts
BFergerson Feb 7, 2022
b4db81c
Update build.gradle.kts
BFergerson Feb 7, 2022
c5bc659
Update build.gradle.kts
BFergerson Feb 7, 2022
47b6563
Update build.gradle.kts
BFergerson Feb 7, 2022
7911a11
Update build.gradle.kts
BFergerson Feb 7, 2022
af73faf
bump
BFergerson Feb 7, 2022
496e262
Merge remote-tracking branch 'origin/dev' into dev
BFergerson Feb 7, 2022
79df319
Update build.gradle.kts
BFergerson Feb 7, 2022
719c315
bump
BFergerson Feb 7, 2022
13391f9
fixes #658
BFergerson Feb 8, 2022
4470c55
Merge branch 'master' into dev
BFergerson Feb 8, 2022
c446ab7
refactor
BFergerson Feb 8, 2022
7606f58
Merge remote-tracking branch 'origin/dev' into dev
BFergerson Feb 8, 2022
d5c355d
remove globalscope
BFergerson Feb 9, 2022
5a42fe0
Merge branch 'master' into dev
BFergerson Feb 10, 2022
1185530
fixes #666
BFergerson Feb 18, 2022
998e376
Merge branch 'master' into dev
BFergerson Feb 18, 2022
0b88b6d
refactor
BFergerson Feb 18, 2022
16c680e
formatting
BFergerson Feb 23, 2022
2e2b94e
fix log pattern ordering
BFergerson Feb 26, 2022
032811d
bump
BFergerson Feb 26, 2022
9dcfc6d
live variable presentation
BFergerson Feb 26, 2022
727daf3
refactor
BFergerson Feb 26, 2022
b79727d
use protocol marshaller
BFergerson Feb 27, 2022
145e509
require input
BFergerson Feb 27, 2022
878f69e
skip if no pattern
BFergerson Feb 27, 2022
0ba093a
bump
BFergerson Feb 27, 2022
b77f5a3
clean
BFergerson Feb 27, 2022
a346a73
Watch log command (#673)
BFergerson Feb 28, 2022
acabbcd
Merge remote-tracking branch 'origin/dev' into dev
BFergerson Feb 28, 2022
b01c7af
move package
BFergerson Feb 28, 2022
2c3976d
move test
BFergerson Feb 28, 2022
83cfbaa
bump
BFergerson Feb 28, 2022
8de76ad
remove mapper
BFergerson Mar 7, 2022
635f384
remove mapper
BFergerson Mar 7, 2022
c099246
unused
BFergerson Mar 7, 2022
7f7c49c
remove unused
BFergerson Mar 7, 2022
d466cad
remove unused
BFergerson Mar 7, 2022
403ceab
remove portal tests
BFergerson Mar 7, 2022
c0bc141
exclude gen
BFergerson Mar 8, 2022
d56c663
use protocol type
BFergerson Mar 8, 2022
42bcbf2
start from current service
BFergerson Mar 8, 2022
87680f1
remove portal config from status bars
BFergerson Mar 8, 2022
b3c2a57
translations
BFergerson Mar 8, 2022
d68b2c5
skywalking reroute
BFergerson Mar 8, 2022
824aa0c
skywalking reroute
BFergerson Mar 8, 2022
f32be03
bump
BFergerson Mar 8, 2022
710134d
remove hardcoded config
BFergerson Mar 8, 2022
198611f
view event listener
BFergerson Mar 8, 2022
c1d7ee5
remove portal
BFergerson Mar 8, 2022
b72c13c
bump
BFergerson Mar 8, 2022
617a5a8
bump
BFergerson Mar 8, 2022
0f2fc09
use marshaller
BFergerson Mar 8, 2022
ced2a9c
use marshaller
BFergerson Mar 8, 2022
d9beea9
use marshaller
BFergerson Mar 8, 2022
ae14f45
re-impl portal
BFergerson Mar 10, 2022
744683a
refactor
BFergerson Mar 10, 2022
e3bafe7
refactor
BFergerson Mar 10, 2022
9dd788c
bump
BFergerson Mar 10, 2022
83b4534
refactor
BFergerson Mar 10, 2022
003c30e
reimpl portal
BFergerson Mar 10, 2022
d532d32
move portal code
BFergerson Mar 10, 2022
ac2c2c4
license
BFergerson Mar 10, 2022
b951f89
sw live service
BFergerson Mar 10, 2022
f43f48f
bump
BFergerson Mar 10, 2022
5e0d3bc
move packages
BFergerson Mar 11, 2022
819b9b8
MARK_USER_DATA_UPDATED event
BFergerson Mar 12, 2022
701de36
bump
BFergerson Mar 12, 2022
409752d
activity quick stats
BFergerson Mar 12, 2022
692f284
clean
BFergerson Mar 12, 2022
ae040b9
createMethodInlayMark
BFergerson Mar 12, 2022
6cd2f63
increase visibility
BFergerson Mar 12, 2022
12ba1bc
formatting
BFergerson Mar 12, 2022
06e1581
bump
BFergerson Mar 13, 2022
dbf176c
more logging
BFergerson Mar 13, 2022
7a6e2cf
import organizing
BFergerson Mar 13, 2022
29d534e
remove specific subs instead of clearing all
BFergerson Mar 13, 2022
e752ec2
fix dupe quick stat inlays
BFergerson Mar 13, 2022
75ecb6f
bump
BFergerson Mar 13, 2022
633a4cd
remove mapper
BFergerson Mar 13, 2022
dcad520
reset
BFergerson Mar 13, 2022
fafbf3e
Merge branch 'master' into dev
BFergerson Mar 13, 2022
0e6023f
Update ViewEventListener.kt
BFergerson Mar 13, 2022
2916024
Merge remote-tracking branch 'origin/dev' into dev
BFergerson Mar 13, 2022
b1a7cc2
merge refactor
BFergerson Mar 13, 2022
bb6f79a
Update build.gradle.kts
BFergerson Mar 13, 2022
734095b
remove mapper
BFergerson Mar 13, 2022
2c5cf21
Merge remote-tracking branch 'origin/dev' into dev
BFergerson Mar 13, 2022
38bb5bc
compatibility
BFergerson Mar 13, 2022
7763fec
overview wip
BFergerson Mar 14, 2022
ee7c19a
fix edt warning
BFergerson Mar 14, 2022
f4f29f2
Merge branch 'master' into dev
BFergerson Mar 14, 2022
49dbe1f
dupe import
BFergerson Mar 14, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,17 @@ object ArtifactNavigator {
//todo: remove method from method names and support navigating to classes?

fun navigateTo(project: Project, element: LiveStackTraceElement) {
ApplicationManager.getApplication().invokeLater {
ApplicationManager.getApplication().runReadAction {
val foundFiles = getFilesByName(project, element.sourceAsFilename()!!, allScope(project))
if (foundFiles.isNotEmpty()) {
val file = foundFiles[0]
val document: Document = PsiDocumentManager.getInstance(file.project).getDocument(file)!!
val offset = document.getLineStartOffset(element.sourceAsLineNumber()!! - 1)
PsiNavigationSupport.getInstance().createNavigatable(project, file.virtualFile, offset).navigate(true)

ApplicationManager.getApplication().invokeLater {
PsiNavigationSupport.getInstance().createNavigatable(project, file.virtualFile, offset)
.navigate(true)
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,17 @@ interface Command {
Icon liveBreakpointSelected = IconLoader.getIcon("/icons/command/live-breakpoint_selected.svg", PluginIcons.class);
Icon liveBreakpointUnSelected = IconLoader.getIcon("/icons/command/live-breakpoint_unselected.svg", PluginIcons.class);

Icon livelogSelected = IconLoader.getIcon("/icons/command/live-log_selected.svg", PluginIcons.class);
Icon livelogUnSelected = IconLoader.getIcon("/icons/command/live-log_unselected.svg", PluginIcons.class);
Icon liveLogSelected = IconLoader.getIcon("/icons/command/live-log_selected.svg", PluginIcons.class);
Icon liveLogUnSelected = IconLoader.getIcon("/icons/command/live-log_unselected.svg", PluginIcons.class);

Icon liveMeterSelected = IconLoader.getIcon("/icons/command/live-meter_selected.svg", PluginIcons.class);
Icon liveMeterUnSelected = IconLoader.getIcon("/icons/command/live-meter_unselected.svg", PluginIcons.class);

Icon liveSpanSelected = IconLoader.getIcon("/icons/command/live-span_selected.svg", PluginIcons.class);
Icon liveSpanUnSelected = IconLoader.getIcon("/icons/command/live-span_unselected.svg", PluginIcons.class);

Icon viewOverviewSelected = IconLoader.getIcon("/icons/command/view-overview_selected.svg", PluginIcons.class);
Icon viewOverviewUnSelected = IconLoader.getIcon("/icons/command/view-overview_unselected.svg", PluginIcons.class);
Icon viewActivitySelected = IconLoader.getIcon("/icons/command/view-activity_selected.svg", PluginIcons.class);
Icon viewActivityUnSelected = IconLoader.getIcon("/icons/command/view-activity_unselected.svg", PluginIcons.class);
Icon viewTracesSelected = IconLoader.getIcon("/icons/command/view-traces_selected.svg", PluginIcons.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ object ControlBarController {
@Suppress("UselessCallOnCollection") //unknown enums are null
selfInfo.permissions.filterNotNull().map { it.name }.contains(it.name)
})
//availableCommands.add(VIEW_OVERVIEW) //todo: remove after v0.4.2
}

private fun determineAvailableCommandsAtLocation(inlayMark: ExpressionInlayMark): List<LiveControlCommand> {
Expand All @@ -79,7 +80,7 @@ object ControlBarController {
val parentMark = inlayMark.getParentSourceMark()
if (parentMark is MethodSourceMark) {
val loggerDetector = parentMark.getUserData(SourceMarkKeys.LOGGER_DETECTOR)
if (loggerDetector != null) {
if (loggerDetector != null && SourceServices.Instance.liveView != null) {
runBlocking {
val detectedLogs = loggerDetector.getOrFindLoggerStatements(parentMark)
val logOnCurrentLine = detectedLogs.find { it.lineLocation == inlayMark.lineNumber }
Expand All @@ -95,6 +96,7 @@ object ControlBarController {
fun handleCommandInput(input: String, editor: Editor) {
log.info("Processing command input: {}", input)
when (input) {
VIEW_OVERVIEW.command -> handleViewPortalCommand(editor, VIEW_OVERVIEW)
VIEW_ACTIVITY.command -> handleViewPortalCommand(editor, VIEW_ACTIVITY)
VIEW_TRACES.command -> handleViewPortalCommand(editor, VIEW_TRACES)
VIEW_LOGS.command -> handleViewPortalCommand(editor, VIEW_LOGS)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@ enum class LiveControlCommand(
val unselectedIcon: Icon? = null
) : AutocompleteFieldRow {

VIEW_OVERVIEW(
"View Overview",
"<html><span style=\"font-size: 80%; color: gray\">Live View ➛ Overview ➛ Scope: Class</span></html>",
PluginIcons.Command.viewOverviewSelected,
PluginIcons.Command.viewOverviewUnSelected
),
VIEW_ACTIVITY(
"View Activity",
"<html><span style=\"font-size: 80%; color: gray\">Live View ➛ Activity ➛ Scope: Method</span></html>",
Expand Down Expand Up @@ -75,8 +81,8 @@ enum class LiveControlCommand(
ADD_LIVE_LOG(
"Add Log",
"<html><span style=\"font-size: 80%; color: gray\">Live Instrument ➛ Add ➛ Location: </span><span style=\"font-size: 80%; color: #E6E6E6\">On line *lineNumber*</span></html>",
PluginIcons.Command.livelogSelected,
PluginIcons.Command.livelogUnSelected
PluginIcons.Command.liveLogSelected,
PluginIcons.Command.liveLogUnSelected
),
ADD_LIVE_METER(
"Add Meter",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,17 @@ import org.slf4j.LoggerFactory
import spp.jetbrains.marker.SourceMarker
import spp.jetbrains.marker.source.mark.api.component.jcef.SourceMarkJcefComponent
import spp.jetbrains.marker.source.mark.api.event.SourceMarkEventCode
import spp.jetbrains.marker.source.mark.gutter.GutterMark
import spp.jetbrains.portal.SourcePortal
import spp.jetbrains.portal.backend.PortalServer
import spp.jetbrains.portal.protocol.portal.PageType
import spp.jetbrains.sourcemarker.command.LiveControlCommand
import spp.jetbrains.sourcemarker.command.LiveControlCommand.*
import spp.jetbrains.sourcemarker.mark.SourceMarkKeys
import spp.jetbrains.sourcemarker.settings.SourceMarkerConfig
import spp.protocol.artifact.ArtifactQualifiedName
import spp.protocol.marshall.KSerializers
import spp.protocol.marshall.LocalMessageCodec
import javax.swing.UIManager

class PortalController(private val markerConfig: SourceMarkerConfig) : CoroutineVerticle() {
Expand All @@ -54,9 +57,11 @@ class PortalController(private val markerConfig: SourceMarkerConfig) : Coroutine
vertx.deployVerticle(portalServer).await()
vertx.deployVerticle(PortalEventListener(markerConfig)).await()

// //todo: remove after v0.4.2
// vertx.eventBus().registerDefaultCodec(ArtifactQualifiedName::class.java, LocalMessageCodec())

SourceMarker.addGlobalSourceMarkEventListener {
if (it.eventCode == SourceMarkEventCode.MARK_BEFORE_ADDED) {
//todo: only register when needed
if (it.eventCode == SourceMarkEventCode.MARK_BEFORE_ADDED && it.sourceMark is GutterMark) {
//register portal for source mark
val portal = SourcePortal.getPortal(
SourcePortal.register(it.sourceMark.artifactQualifiedName, false)
Expand All @@ -72,6 +77,7 @@ class PortalController(private val markerConfig: SourceMarkerConfig) : Coroutine
it.sourceMark.addEventListener {
if (it.eventCode == SourceMarkEventCode.UPDATE_PORTAL_CONFIG) {
when (val command = it.params.first() as LiveControlCommand) {
VIEW_OVERVIEW -> portal.configuration.config["currentPage"] = PageType.OVERVIEW
VIEW_ACTIVITY -> portal.configuration.config["currentPage"] = PageType.ACTIVITY
VIEW_TRACES -> portal.configuration.config["currentPage"] = PageType.TRACES
VIEW_LOGS -> portal.configuration.config["currentPage"] = PageType.LOGS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ import spp.jetbrains.sourcemarker.settings.SourceMarkerConfig
import spp.protocol.SourceServices.Instance
import spp.protocol.SourceServices.Provide.toLiveViewSubscriberAddress
import spp.protocol.artifact.ArtifactQualifiedName
import spp.protocol.artifact.ArtifactType
import spp.protocol.artifact.QueryTimeFrame
import spp.protocol.artifact.exception.LiveStackTraceElement
import spp.protocol.artifact.log.Log
Expand Down Expand Up @@ -232,9 +233,9 @@ class PortalEventListener(
}
vertx.eventBus().consumer<ArtifactQualifiedName>(FindPortal) {
// val artifactQualifiedName = it.body()
// val sourceMarks = SourceMarker.getSourceMarks(artifactQualifiedName)
// if (sourceMarks.isNotEmpty()) {
// it.reply(sourceMarks[0].getUserData(SourceMarkKeys.SOURCE_PORTAL)!!)
// val portals = SourcePortal.getPortals(artifactQualifiedName)
// if (portals.isNotEmpty()) {
// it.reply(portals.first())
// } else {
// launch(vertx.dispatcher()) {
// val classArtifact = findArtifact(
Expand All @@ -250,7 +251,8 @@ class PortalEventListener(
// val gutterMark = creationService.getOrCreateMethodGutterMark(
// fileMarker, searchArtifact.nameIdentifier!!
// )!!
// it.reply(gutterMark.getUserData(SourceMarkKeys.SOURCE_PORTAL)!!)
// println(gutterMark)
// //it.reply(gutterMark.getUserData(SourceMarkKeys.SOURCE_PORTAL)!!)
// }
// }
// }
Expand All @@ -264,9 +266,9 @@ class PortalEventListener(
// ApplicationManager.getApplication().invokeLater {
// PsiNavigateUtil.navigate(sourceMark.getPsiElement())
//
// val portal = sourceMark.getUserData(SourceMarkKeys.SOURCE_PORTAL)!!
// openPortal(portal)
// it.reply(portal)
// val portals = SourcePortal.getPortals(artifactQualifiedName)
// openPortal(portals.first())
// it.reply(portals.first())
// }
// } else {
// log.warn("Failed to find portal for artifact: $artifactQualifiedName")
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.