Skip to content

Commit aeea2e5

Browse files
Update moment (#255)
Update moment Fix some ESLint and Stylelint errors Fix typos Clean out folder before compile Exclude unnecessary files from the package
1 parent caab6d9 commit aeea2e5

File tree

101 files changed

+1053
-1143
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+1053
-1143
lines changed

.eslintrc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ module.exports = {
1616
parserOptions: {
1717
tsconfigRootDir: __dirname,
1818
project: "./tsconfig.eslint.json",
19-
ecmaVersion: 12,
19+
ecmaVersion: 13,
2020
sourceType: "module"
2121
},
2222
plugins: ["@typescript-eslint"],

.eslintrc.json

Lines changed: 0 additions & 24 deletions
This file was deleted.

.gitignore

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
node_modules
2-
out/**
1+
.vscode-test/
2+
node_modules/
3+
out/
4+
.eslintcache
35
*.vsix
4-
.vscode-test/**
6+
57
.DS_Store
68

7-
.idea/
8-
.eslintcache
9+
.idea/

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ package.json
44
package-lock.json
55
src/views-ui/common/jquery-3.6.0.min.js
66
src/views-ui/common/require-2.3.6.min.js
7+
*.md

.stylelintignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
jaegerUi/

.vscode/settings.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,13 @@
99
// Turn off tsc task auto detection since we have the necessary tasks as npm scripts
1010
"typescript.tsc.autoDetect": "off",
1111
// "editor.formatOnSave": true,
12+
"editor.tabSize": 4,
13+
"editor.detectIndentation": false,
1214
"editor.codeActionsOnSave": {
1315
// "source.organizeImports": true
1416
},
15-
"editor.defaultFormatter": "esbenp.prettier-vscode",
17+
"[javascript][typescript][json][jsonc][scss]": {
18+
"editor.defaultFormatter": "esbenp.prettier-vscode"
19+
},
1620
"stylelint.validate": ["css", "scss"]
1721
}

.vscodeignore

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
1-
.vscode/**
2-
.vscode-test/**
3-
src/**
1+
.github/
2+
.husky/
3+
.vscode/
4+
.vscode-test/
5+
jaegerUi/
6+
src/
7+
out/test/
8+
out/**/*.test.js
9+
.eslintrc.js
410
.gitignore
5-
.yarnrc
6-
vsc-extension-quickstart.md
7-
**/tsconfig.json
8-
**/.eslintrc.json
9-
**/*.map
10-
**/*.ts
11+
.prettierignore
12+
.prettierrc
13+
.stylelintignore
14+
.stylelintrc
15+
tsconfig*.json
16+
17+
# TODO: delete as not used
18+
workspace.xml
19+
after.png
20+
before.png

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how
66

77
## [Unreleased]
88

9-
- Initial release
9+
- Initial release

README.md

Lines changed: 65 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,138 +1,142 @@
11
# Digma Visual Studio Code Plugin
22

3-
This is a [Visual Studio Code](https://code.visualstudio.com) extension for Digma, providing continuous feedback to developers. With this extension, developer can see insights related to their code, derived from sources such as OpenTelemetry, right in the IDE. To read more about the Digma platform visit our [main repo](https://github.com/digma-ai/digma).
3+
This is a [Visual Studio Code](https://code.visualstudio.com) extension for Digma, providing continuous feedback to developers. With this extension, developer can see insights related to their code, derived from sources such as OpenTelemetry, right in the IDE. To read more about the Digma platform visit our [main repo](https://github.com/digma-ai/digma).
44

5-
⚠️ Note that this is still a *pre-release* extension, and will probably not be very useful without a Digma backend. If we've picked your interest and you'd like to try it out please joing our our early [beta program](https://www.digma.ai/) which will be released soon! (pending feedback 🤞). Also notice that there's guaranteed to be a slew of breakign changes between now and the public release.
6-
### 🤨 What does this extension do?
7-
It provides code objects insights and runtime analytics inside the IDE. The IDE is inteded to be extensible (currentluy refactoring toward that), so that anyone would be able to define new types of insights based on the collected data.
5+
⚠️ Note that this is still a *pre-release* extension, and will probably not be very useful without a Digma backend. If we've picked your interest and you'd like to try it out please join our early [beta program](https://www.digma.ai/) which will be released soon! (pending feedback 🤞). Also notice that there's guaranteed to be a slew of breaking changes between now and the public release.
6+
7+
## 🤨 What does this extension do?
8+
9+
It provides code objects insights and runtime analytics inside the IDE. The IDE is intended to be extensible (currently refactoring toward that), so that anyone would be able to define new types of insights based on the collected data.
810

911
- [Digma Visual Studio Code Plugin](#digma-visual-studio-code-plugin)
10-
- [🤨 What does this extension do?](#-what-does-this-extension-do)
11-
- [🔬 Code Object Discovery](#-code-object-discovery)
12-
- [🧑‍💻 Pull Request Insights (WIP)](#-pull-request-insights-wip)
13-
- [🧑‍🔬 Code Insights](#-code-insights)
14-
- [🪳 Runtime Errors](#-runtime-errors)
15-
- [? What is a code object flow ?](#-what-is-a-code-object-flow-)
16-
- [👓 Runtime Errors Drilldown](#-runtime-errors-drilldown)
17-
- [🔦 Code Objects Annotation](#-code-objects-annotation)
18-
- [🎯 Usage Analytics](#-usage-analytics)
19-
- [፨ Selecting Environments](#-selecting-environments)
20-
- [⚙️ Extension Settings](#️-extension-settings)
12+
- [🤨 What does this extension do?](#-what-does-this-extension-do)
13+
- [🔬 Code Objects Discovery](#-code-object-discovery)
14+
- [🧑‍💻 Pull Request Insights (WIP)](#-pull-request-insights-wip)
15+
- [🧑‍🔬 Code Insights](#-code-insights)
16+
- [🪳 Runtime Errors](#-runtime-errors)
17+
- [? What is a code object flow ?](#-what-is-a-code-object-flow-)
18+
- [👓 Runtime Errors Drilldown](#-runtime-errors-drilldown)
19+
- [🔦 Code Objects Annotation](#-code-objects-annotation)
20+
- [🎯 Usage Analytics](#-usage-analytics)
21+
- [፨ Selecting Environments](#-selecting-environments)
2122
- [How to Build](#how-to-build)
22-
- [License](#license)
23+
- [License](#license)
2324

25+
### 🔬 Code Object Discovery
26+
27+
Discovering code objects is a key part of the extension functionality. Code objects can be anything that can be found in the code on the client side, and from the observability data on the backend. Code objects are associated with aggregated data and insights.
2428

25-
#### 🔬 [Code Object Discovery](#code-object-discovery)
26-
Discovering code objects is a key part of the extension functionality. Code objects can be anything that can be found in the code on the client side, and from the observability data on the backend. Code objects are associated with aggregated data and insights.
27-
2829
In the below example, you can see some potential code objects to discover marked out in red:
2930

3031
<img src="/.github/assets/discovery.png" width="500" alt="Code object discovery">
3132

3233
There are many types of possible code objects, this is where the platform is extensible to support them both on client and server. Here is some of current backlog:
3334

34-
- ✅ Functions/methods
35-
- ✅ REST endpoints
36-
- OTEL Spans
37-
- ✅ GRPC endpoints (WIP)
38-
- RabbitMQ event classes
39-
- Kafka producer
40-
- Classes/modules
41-
- More...
35+
- ✅ Functions/methods
36+
- ✅ REST endpoints
37+
- OTEL Spans
38+
- ✅ GRPC endpoints (WIP)
39+
- RabbitMQ event classes
40+
- Kafka producer
41+
- Classes/modules
42+
- More...
4243

4344
Of course code object discovery is language specific, sometimes platform or library specific.
4445

4546
More basic method/function discovery is done using the language server for that specific programming language already installed in the IDE.
46-
#### 🧑‍💻 [Pull Request Insights](#pr-insights) (WIP)
4747

48-
Commits are a way to group code object feedback together. Digma's backend already tags each metric and trace by the relevant commit identifier.
48+
### 🧑‍💻 Pull Request Insights (WIP)
49+
50+
Commits are a way to group code object feedback together. Digma's backend already tags each metric and trace by the relevant commit identifier.
4951

50-
TBD
52+
TBD
5153

52-
#### 🧑‍🔬 [Code Insights](#code-insights)
54+
### 🧑‍🔬 Code Insights
5355

54-
Based on the code section currently focused on the IDE, the Code Insights sidebar panel displays the relevant insights for the discovered code objects in that section. While focused on a specific function in the code I'll be able to see all revant insights.
56+
Based on the code section currently focused on the IDE, the Code Insights sidebar panel displays the relevant insights for the discovered code objects in that section. While focused on a specific function in the code I'll be able to see all relevant insights.
5557

56-
The IDE extension in this case simply queries the backend API with the discovered code object identifer. The backend provides back a list of insights that were gleaned from the observability data that relate to these objects.
58+
The IDE extension in this case simply queries the backend API with the discovered code object identifier. The backend provides back a list of insights that were gleaned from the observability data that relate to these objects.
5759

5860
![Insights](/.github/assets/insights_tab.png)
5961

60-
#### 🪳 [Runtime Errors](#runtime-errors)
62+
### 🪳 Runtime Errors
6163

62-
The runtime errors panel provides analytics over the error behavior of both the specific code object and the different code object flows it particpates in.
64+
The runtime errors panel provides analytics over the error behavior of both the specific code object and the different code object flows it participates in.
6365

64-
The errors are not displayed as raw data 🥩 . Digma already groups together errors which essentially singify the same problem and also highlights those errors that are "interesting". What makes an error interesting? That is something decided by the backend scoring processses but some reasons may include:
66+
The errors are not displayed as raw data 🥩. Digma already groups together errors which essentially signify the same problem and also highlights those errors that are "interesting". What makes an error interesting? That is something decided by the backend scoring processes but some reasons may include:
6567

66-
- 📈 It is trending up!
67-
- 🆕 It is something that started recently
68-
- 💣 It is affecting multiple services
68+
- 📈 It is trending up!
69+
- 🆕 It is something that started recently
70+
- 💣 It is affecting multiple services
6971
- 🕳 It is not handled internally some other place
7072

7173
<br>
7274
<p align=center>
7375
<img src="/.github/assets/errors_tab.png" width="500" alt="Code object discovery">
7476
</p>
7577

76-
##### ? What is a code object flow ?
77-
Digma identifies flows which describe how code objects are used together. It can be usedful to think about a code flow like a 'proto-trace'. Basically grouping together all traces that are extremely similar as a 'flow' within the application and starting to aggregate information about that flow.
78+
#### ? What is a code object flow ?
7879

79-
#### 👓 [Runtime Errors Drilldown](#runtime-errors-drilldown)
80+
Digma identifies flows which describe how code objects are used together. It can be useful to think about a code flow like a 'proto-trace'. Basically grouping together all traces that are extremely similar as a 'flow' within the application and starting to aggregate information about that flow.
8081

81-
There are multiple ways in which additional information is provided regarding the errors.
82+
### 👓 Runtime Errors Drilldown
83+
84+
There are multiple ways in which additional information is provided regarding the errors.
8285
Including highlighting of specific lines within the code itself. However, by double clicking into a specific error type we can get more information about it as well as navigate the callstack to understand its origins:
8386

8487
![Errors Drilldown](/.github/assets/error_drilldown.png)
8588

86-
#### 🔦 [Code Objects Annotation](#code-obj-annotation)
89+
### 🔦 Code Objects Annotation
8790

8891
Some insights can be highlighting in the code itself using code annotations. Based on the information passed on from the backend the extension will proactively display annotations or even highlight a specific code object to provide feedback.
8992

90-
<img src="/.github/assets/annotation.png" alt="Insight annotation">
93+
![Insight annotation](/.github/assets/annotation.png)
9194

9295
Another way to provide feedback on code object behavior is through their tooltips. For example, looking at this function object I can already see which runtime error types I should be expecting:
9396

9497
<p align=center>
9598
<img src="/.github/assets/tooltip.png" width="600" alt="Insight annotation">
9699
</p>
97100

98-
Insights on runtime data can also be displayed. For example, in this case Digma has identified that in all different occurences of this specific error, a pameter is always null:
101+
Insights on runtime data can also be displayed. For example, in this case Digma has identified that in all different occurrences of this specific error, a parameter is always `None`:
99102

100-
<img src="/.github/assets/data_info.png" alt="Parmater data insights">
103+
![Parameter data insights](/.github/assets/data_info.png)
101104

102-
#### 🎯 [Usage Analytics](#usage-analytics)
105+
### 🎯 Usage Analytics
103106

104-
Some of the insights provide additional information regarding how the code is used and what is the change impact radius. Before we cna see different span sources reaching the selection code section with a simple breakdown.
107+
Some of the insights provide additional information regarding how the code is used and what is the change impact radius. Below we can see different span sources reaching the selection code section with a simple breakdown.
105108

106-
<img src="/.github/assets/usage.png" alt="Parmater data insights">
109+
![Parameter data insights](/.github/assets/usage.png)
107110

108-
#### [Selecting Environments](#environment)
111+
### ፨ Selecting Environments
109112

110-
The observability data is typically collected from multiple environment (staging, dev, prod, CI, etc.). The Context panel allows the user to choose the enviroment he would like to see feedback from.
113+
The observability data is typically collected from multiple environments (staging, dev, prod, CI, etc.). The Context panel allows the user to choose the environment he would like to see feedback from.
111114

112115
Environments can be easily assigned to observability data collected via an env variable on the running process.
113116

117+
<a id="context-panel"></a>
118+
114119
![context-panel](/.github/assets/context-panel.png)
115120

116-
#### ⚙️ [Extension Settings](#settings)
121+
## ⚙️ Extension Settings
117122

118123
This extension contributes the following settings:
119124
| Key | Description |
120-
| :-- | :---------- |
121-
| `digma.enableCodeLens` | Enable/disable methods codelens regarding errors.|
122-
| `digma.url` | Digma api endpoint url.|
123-
| `digma.environment` | Filter the telemtry data by environment. <br/> Can be set from the [Context](#context-panel) panel, by selecting from the **Environment** dropdown. |
124-
| `digma.hideFramesOutsideWorkspace` | Show/Hide frame of files that do not belog to the opened workspace(s)<br/>Can be in [Error Flow Details](#error-flow-details-panel) panel, by checking/unchecking the **Workspace only** checkbox). |
125+
| :--- | :--- |
126+
| `digma.enableCodeLens` | Enable/disable methods codelens regarding errors. |
127+
| `digma.url` | Digma api endpoint url. |
128+
| `digma.environment` | Filter the telemetry data by environment.<br/>Can be set from the [Context](#context-panel) panel, by selecting from the **Environment** dropdown. |
129+
| `digma.hideFramesOutsideWorkspace` | Show/Hide frame of files that do not belong to the opened workspace(s)<br/>Can be in [Error Flow Details](#error-flow-details-panel) panel, by checking/unchecking the **Workspace only** checkbox). |
125130
| `digma.sourceControl` | Workspace's source control - used to open files in specific revision.<br/>Only `git` is supported for now. |
126131
| `digma.enableNotifications` | Enable/disable insight event notifications.|
127132

128133
## How to Build
129134

130-
```
135+
```shell
131136
npm install
132137
vsce package
133138
```
134139

135-
136-
### License
140+
## License
137141

138142
[MIT](/LICENSE)

0 commit comments

Comments
 (0)