You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2022/04/14 23:13:01 UTC

[skywalking-website] branch master updated: Integrating Apache SkyWalking with source code (#411)

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 46e7370b15 Integrating Apache SkyWalking with source code (#411)
46e7370b15 is described below

commit 46e7370b152bfcf3ab77a534f891f2335070ae1c
Author: Brandon Fergerson <bf...@apache.org>
AuthorDate: Thu Apr 14 19:12:55 2022 -0400

    Integrating Apache SkyWalking with source code (#411)
---
 .../index.md                                       |  56 ++++++++++++
 .../show_quick_stats_command.gif                   | Bin 0 -> 952504 bytes
 .../view_command.gif                               | Bin 0 -> 780337 bytes
 .../watch_log_command.gif                          | Bin 0 -> 393332 bytes
 .../index.md                                       |  95 +++++++++++++++++++++
 .../show_quick_stats_command.gif                   | Bin 0 -> 766545 bytes
 .../view_command.gif                               | Bin 0 -> 724341 bytes
 .../watch_log_command.gif                          | Bin 0 -> 342228 bytes
 8 files changed, 151 insertions(+)

diff --git a/content/blog/2022-04-14-integrating-skywalking-with-source-code/index.md b/content/blog/2022-04-14-integrating-skywalking-with-source-code/index.md
new file mode 100644
index 0000000000..ad9356bb56
--- /dev/null
+++ b/content/blog/2022-04-14-integrating-skywalking-with-source-code/index.md
@@ -0,0 +1,56 @@
+---
+title: "Integrating Apache SkyWalking with source code"
+author: "Brandon Fergerson"
+date: 2022-04-14
+description: "In this article, we will introduce a new concept in Source++, the open-source live-coding platform, specifically designed to allow developers to monitor production applications more intuitively."
+tags:
+- Observability
+---
+
+## Introduction
+
+> The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it. - Mark Weiser
+
+Mark Weiser prophetically argued in the late 1980s, that the most far-reaching technologies are those which vanish into thin air. According to Weiser, "Whenever people learn something sufficiently well, they cease to be aware of it." This disappearing act, as Weiser claimed, is not limited to technology but rather human psychology. It is this very experience that allows us to escape lower-level thinking into higher-level thinking. For once we are no longer impeded by mundane details, we  [...]
+
+This realization becomes more relevant as APMs become increasingly popular. As more applications are deployed with APMs, the number of abstract representations of the underlying source code also increases. While this provides great value to many non-development roles within an organization, it does pose additional challenges to those in development roles who must translate these representations into concepts they can work with (i.e. source code). Weiser sums this difficultly up rather su [...]
+
+Still, APMs collect more information only to produce a plethora of new abstract representations. In this article, we will introduce a new concept in [Source++](https://github.com/sourceplusplus/live-platform), the open-source live-coding platform, specifically designed to allow developers to monitor production applications more intuitively.
+
+## Live Views
+
+> And we really don't understand even yet, hundreds of metrics later, what make a program easier to understand or modify or reuse or borrow. I don't think we'll find out by looking away from programs to their abstract interfaces. The answers are in the source code. - Mark Weiser
+
+As APMs move from the "nice to have" category to the "must-have" category, there is a fundamental feature holding them back from ubiquity. They must disappear from consciousness. As developers, we should feel no impulse to open our browsers to better understand the underlying source code. The answers are literally in the source code. Instead, we should improve our tools so the source code conveniently tells us what we need to know. Think of how simple life could be if failing code always [...]
+
+In our last blog post, we discussed [Extending Apache SkyWalking with non-breaking breakpoints](https://skywalking.apache.org/blog/2021-12-06-extend-skywalking-with-nbb/). In that post, we introduced a concept called **Live Instruments**, which developers can use to easily debug live production applications without leaving their IDE. Today, we will discuss how existing SkyWalking installations can be integrated into your IDE via a new concept called **Live Views**. Unlike Live Instrument [...]
+
+### Live Command Palette
+
+The Live Command Palette (LCP) is a contextual command prompt, included in the [Source++ JetBrains Plugin](https://github.com/sourceplusplus/interface-jetbrains), that allows developers to control and query live applications from their IDE. Opened via keyboard shortcut (`Ctrl+Shift+S`), the LCP allows developers to easily view metrics relevant to the source code they're currently viewing. The following Live View commands are currently supported:
+
+#### Command: view (overview/activity/traces/logs)
+
+The `view` commands display contextual popups with live operational data of the current source code. These commands allow developers to view traditional SkyWalking operational data filtered down to the relevant metrics.
+
+![](view_command.gif)
+
+#### Command: watch log
+
+The `watch log` command allows developers to follow individual log statements of a running application in real-time. This command allows developers to negate the need for manually scrolling through the logs to find instances of a specific log statement.
+
+![](watch_log_command.gif)
+
+#### Command: (show/hide) quick stats
+
+The `show quick stats` command displays live endpoint metrics for a quick idea of an endpoint's activity. Using this command, developers can quickly assess the status of an endpoint and determine if the endpoint is performing as expected.
+
+![](show_quick_stats_command.gif)
+
+## Future Work
+
+> A good tool is an invisible tool. By invisible, I mean that the tool does not intrude on your consciousness; you focus on the task, not the tool. Eyeglasses are a good tool -- you look at the world, not the eyeglasses. - Mark Weiser
+
+Source++ aims to extend SkyWalking in such a way that SkyWalking itself becomes invisible. To accomplish this, we plan to support custom developer commands. Developers will be able to build customized commands for themselves, as well as commands to share with their team. These commands will recognize context, types, and conditions allowing for a wide possibility of operations. As more commands are added, developers will be able to expose everything SkyWalking has to offer while focusing  [...]
+
+If you find these features useful, please consider giving Source++ a try. You can install the plugin directly from your JetBrains IDE, or through the [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/12033-source-). If you have any issues or questions, please [open an issue](https://github.com/sourceplusplus/interface-jetbrains/issues). Feedback is always welcome!
diff --git a/content/blog/2022-04-14-integrating-skywalking-with-source-code/show_quick_stats_command.gif b/content/blog/2022-04-14-integrating-skywalking-with-source-code/show_quick_stats_command.gif
new file mode 100644
index 0000000000..6c86757dce
Binary files /dev/null and b/content/blog/2022-04-14-integrating-skywalking-with-source-code/show_quick_stats_command.gif differ
diff --git a/content/blog/2022-04-14-integrating-skywalking-with-source-code/view_command.gif b/content/blog/2022-04-14-integrating-skywalking-with-source-code/view_command.gif
new file mode 100644
index 0000000000..d5b7b00740
Binary files /dev/null and b/content/blog/2022-04-14-integrating-skywalking-with-source-code/view_command.gif differ
diff --git a/content/blog/2022-04-14-integrating-skywalking-with-source-code/watch_log_command.gif b/content/blog/2022-04-14-integrating-skywalking-with-source-code/watch_log_command.gif
new file mode 100644
index 0000000000..1614be1944
Binary files /dev/null and b/content/blog/2022-04-14-integrating-skywalking-with-source-code/watch_log_command.gif differ
diff --git a/content/zh/2022-04-14-integrating-skywalking-with-source-code/index.md b/content/zh/2022-04-14-integrating-skywalking-with-source-code/index.md
new file mode 100644
index 0000000000..222d3e072d
--- /dev/null
+++ b/content/zh/2022-04-14-integrating-skywalking-with-source-code/index.md
@@ -0,0 +1,95 @@
+---
+title: "将 Apache SkyWalking 与源代码集成"
+author: "Brandon Fergerson"
+date: 2022-04-14
+description: "在本文中,我们将介绍开源实时编码平台 Source++ 中的一个新概念,
+其旨在让开发人员更直观地监控生产环境中的应用。"
+tags:
+- Observability
+---
+
+<sub>Read this post in original language: [English](https://skywalking.apache.org/blog/2022-04-14-integrating-skywalking-with-source-code/)</sub>
+
+## 介绍
+
+> 最具影响力的技术是那些消失的技术。他们交织在日常生活中,直到二者完全相融。 - 马克韦瑟
+
+马克韦瑟在 1980 年代后期预言,影响最深远的技术是那些消失在空气中的技术。
+
+“当人们足够熟知它,就不会再意识到它。”
+
+正如韦瑟所说,这种消失的现象不只源于技术,更是人类的心理。
+正是这种经验使我们能够摆脱对底层的考量,进入更高层次的思考。
+一旦我们不再被平凡的细枝末节所阻碍,我们就可以自如地专注于新的目标。
+
+随着 APM(应用性能管理系统) 变得越来越普遍,这种认识变得更加重要。随着更多的应用程序开始使用 APM 部署,底层源代码抽象表示的数量也在同步增加。
+虽然这为组织内的许多非开发角色提供了巨大的价值,但它确实也对开发人员提出了额外的挑战 -
+他们必须将这些表示转化为可操作的概念(即源代码)。
+对此,韦瑟相当简洁的总结道,“就像不应要求汽车机械师在不查看引擎的情况下工作一样,我们不应要求程序员在不访问源代码的情况下工作”。
+
+尽管如此,APM 收集更多信息只是为了产生充足的新抽象表示。
+在本文中,我们将介绍开源实时编码平台 [Source++](https://github.com/sourceplusplus/live-platform) 中的一个新概念,旨在让开发人员更直观地监控生产应用程序。
+
+## 实时查看
+
+> 我们尚且不理解在收集了数百个指标之后,是什么让程序更容易理解、修改、重复使用或借用。
+我不认为我们能够通过原理程序本身而到它们的抽象接口中找到答案。答案就在源代码之中。 - 马克韦瑟
+
+随着 APM 从“有了更好”转变为“必须拥有”,有一个基本特性阻碍了它们的普及。
+它们必须从意识中消失。作为开发人员,我们不应急于打开浏览器以更好地理解底层源代码,答案就在源代码中。
+相反,我们应该改进我们的工具,以便源代码直观地告诉我们需要了解的内容。
+想想如果失败的代码总是表明它是如何以及为什么失败的,生活会多么简单。这就是 Source++ 背后的理念。
+
+在我们的上一篇博客中,我们讨论了不间断断点 [Extending Apache SkyWalking](https://skywalking.apache.org/blog/2021-12-06-extend-skywalking-with-nbb/)。
+我们介绍了一个名为 **Live Instruments**(实时埋点) 的概念,开发人员可以使用它轻松调试实时生产应用程序,而无需离开他们的开发环境。
+而今天,我们将讨论如何通过一个名为 **Live Views**(实时查看)的新概念将现有部署的 SkyWalking 集成到您的 IDE 中。
+与专为调试实时应用程序而设计的 Live Instruments (实时埋点) 不同,Live Views(实时查看)旨在提高对应用程序的理解和领悟。
+这将通过输入到 Live Command Palette (实时命令面板) 中的各种命令来完成。
+
+### 实时命令面板
+
+Live Command Palette (LCP) 是一个当前上下文场景下的命令行面板,这个组件包含在 [Source++ JetBrains 插件中](https://github.com/sourceplusplus/interface-jetbrains),它允许开发人员从 IDE 中直接控制和对实时应用程序发起查询。
+
+LCP 通过键盘快捷键 (`Ctrl+Shift+S`) 打开,允许开发人员轻松了解与他们当前正在查看的源代码相关的运行指标。
+
+目前 LCP 支持以下实时查看命令:
+
+#### 命令:`view`(overview/activity/traces/Logs)- 查看 总览/活动/追踪/日志
+
+`view` 查看命令会展示一个与当前源码的实时运维数据关联的弹窗。
+这些命令允许开发人员查看根据相关指标过滤的传统 SkyWalking 的运维数据。
+
+![](view_command.gif)
+
+#### 命令:`watch log` - 实时监听日志
+
+本日志命令允许开发人员实时跟踪正在运行的应用程序的每一条日志。
+通过此命令开发人员无需手动查阅大量日志就可以查找特定日志语句的实例。
+
+![](watch_log_command.gif)
+
+#### 命令:(show/hide) quick stats (显示/隐藏)快速统计
+
+`show quick stats` 显示快速统计命令显示实时端点指标,以便快速了解端点的活动。
+使用此命令,开发人员可以快速评估端点的状态并确定端点是否按预期正常运行。
+
+![](show_quick_stats_command.gif)
+
+## 未来的工作
+
+> 好工具是无形的。我所指的无形,是指这个工具不会侵入你的意识;
+你专注于任务,而不是工具。
+眼镜就是很好的工具——你看的是世界,而不是眼镜。 - 马克韦瑟
+
+Source++ 旨在扩展 SkyWalking,使 SkyWalking 本身变得无需感知。
+为此,我们计划支持自定义的开发人员命令。
+开发人员将能够构建自定义命令,以及与团队共享的命令。
+这些命令将识别上下文、类型和条件,从而允许广泛的操作。
+随着更多命令的添加,开发人员将能够洞悉 SkyWalking 所提供的所有功能,同时专注于最重要的源码。
+
+如果您觉得这些功能有用,请考虑尝试使用 Source++。
+您可以通过 [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/12033-source-)
+或直接从您的 JetBrains IDE 安装插件。
+如果您有任何疑问,[请到这提 issue](https://github.com/sourceplusplus/interface-jetbrains/issues)。
+
+欢迎随时反馈!
diff --git a/content/zh/2022-04-14-integrating-skywalking-with-source-code/show_quick_stats_command.gif b/content/zh/2022-04-14-integrating-skywalking-with-source-code/show_quick_stats_command.gif
new file mode 100644
index 0000000000..62cea1f058
Binary files /dev/null and b/content/zh/2022-04-14-integrating-skywalking-with-source-code/show_quick_stats_command.gif differ
diff --git a/content/zh/2022-04-14-integrating-skywalking-with-source-code/view_command.gif b/content/zh/2022-04-14-integrating-skywalking-with-source-code/view_command.gif
new file mode 100644
index 0000000000..3011ce0a90
Binary files /dev/null and b/content/zh/2022-04-14-integrating-skywalking-with-source-code/view_command.gif differ
diff --git a/content/zh/2022-04-14-integrating-skywalking-with-source-code/watch_log_command.gif b/content/zh/2022-04-14-integrating-skywalking-with-source-code/watch_log_command.gif
new file mode 100644
index 0000000000..ee2ea8a649
Binary files /dev/null and b/content/zh/2022-04-14-integrating-skywalking-with-source-code/watch_log_command.gif differ