Continuous Feedback for Developers
Combining IDE and APM technology via the feedback-driven development approach.
Join the DZone community and get the full member experience.Join For Free
The disparity between the software developer and software user perspectives is akin to that of the theoretical vs. empirical sciences. The theoretical sciences (a.k.a. theory-building) and empirical sciences (a.k.a. theory-testing) represent two halves of the research cycle that perpetually iterates between theory and observations. Both perspectives are critical for the advancement of science, and similarly, software development continuously iterates between theory-building via source code and theory-testing via software utilization. In scientific research, elegant theories are not valuable if they do not correlate with reality and mountains of data are equally useless if they do not contribute to meaningful theories. This is identical to the balance between software development and operation. Source code is not valuable if it is not computable, and software is equally useless if it does not work.
Despite this intrinsic and complementary cycle, today’s software monitoring solutions still gather empirical data and display software operations as time series graphs and other abstractions inside dashboards. These abstractions, while useful, are primarily suitable for operations engineers who think in terms of systems. Software developers, who contemplate software through the perspective of source code, must continuously convert these abstractions to utilize them during software development. This is problematic given an ongoing trend in software development is the blurring boundaries between building and operating software. The solution then, somewhat obviously, is that modern programming environments must evolve to support both the theoretical and empirical perspectives of software development.
SourceMarker is an open-source continuous feedback IDE plugin built on top of Apache SkyWalking, a popular open-source APM system with monitoring, tracing, and diagnosing capabilities for distributed software systems. SkyWalking, a truly holistic system, provides the means for automatically producing, storing, and querying software operation metrics. It requires little to no code changes to implement and is lightweight enough to be used in production. By itself, SkyWalking is a formidable force in the realm of continuous monitoring technology.
SourceMarker, leveraging the continuous monitoring functionality provided by SkyWalking, creates continuous feedback technology by automatically linking software operation metrics to source code and displaying feedback directly inside an IDE. While it currently only supports JetBrains-based IDEs and JVM-based programming languages, SourceMarker may be extended to support any number of programming languages and IDEs.
Opinions expressed by DZone contributors are their own.