{"id":22555466,"url":"https://github.com/eclipse-cdt-cloud/vscode-trace-extension","last_synced_at":"2025-08-04T19:43:30.753Z","repository":{"id":42127739,"uuid":"316288748","full_name":"eclipse-cdt-cloud/vscode-trace-extension","owner":"eclipse-cdt-cloud","description":"Trace viewer extension for Eclipse Theia applications and VSCode compatible applications, that uses the Trace Server Protocol (TSP)","archived":false,"fork":false,"pushed_at":"2025-03-31T15:28:25.000Z","size":11534,"stargazers_count":8,"open_issues_count":27,"forks_count":23,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-31T16:54:12.472Z","etag":null,"topics":["eclipse","eclipse-foundation","eclipse-theia","javascript","open-vsx","timeline-chart","trace","trace-server-protocol","trace-viewer","trace-visualization","traceviewer-base","traceviewer-react-components","tsp","tsp-typescript-client","typescript","visual-studio-marketplace","vscode","vscode-extension","vscode-trace-extension"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eclipse-cdt-cloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-26T16:49:35.000Z","updated_at":"2025-03-24T14:31:09.000Z","dependencies_parsed_at":"2023-02-18T10:01:11.625Z","dependency_job_id":"0e90cb4b-d153-4378-be03-044dbb57aeea","html_url":"https://github.com/eclipse-cdt-cloud/vscode-trace-extension","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-cdt-cloud%2Fvscode-trace-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-cdt-cloud%2Fvscode-trace-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-cdt-cloud%2Fvscode-trace-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-cdt-cloud%2Fvscode-trace-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclipse-cdt-cloud","download_url":"https://codeload.github.com/eclipse-cdt-cloud/vscode-trace-extension/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248161505,"owners_count":21057603,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eclipse","eclipse-foundation","eclipse-theia","javascript","open-vsx","timeline-chart","trace","trace-server-protocol","trace-viewer","trace-visualization","traceviewer-base","traceviewer-react-components","tsp","tsp-typescript-client","typescript","visual-studio-marketplace","vscode","vscode-extension","vscode-trace-extension"],"created_at":"2024-12-07T19:07:57.683Z","updated_at":"2025-04-10T05:20:54.902Z","avatar_url":"https://github.com/eclipse-cdt-cloud.png","language":"TypeScript","readme":"# VSCode Trace Extension\n\nThis document contains information that may be useful for developers that want to build, modify, enhance and/or debug this extension. If you only intend to consume the extension, it might be easier to get it from the [public OpenVSX registry][tc-open-vsx],\n\nThis project started from the [VSCode webview react project][vscode-webview-react]. It works this way, with the extension itself being in the `vscode-trace-extension` directory and the react application being in the `vscode-trace-webapps` directory.\n\n**👋 Want to help?** Read our [contributor guide](CONTRIBUTING.md) and follow the instructions to contribute code.\n\n## Prerequisites\n\nFirst, you need Node.js and yarn:\n\nIt's suggested to install [nvm](https://github.com/nvm-sh/nvm#installing-and-updating) to manage node on your machine. Once that's done, install the required version:\n\n```bash\n   nvm install 18\n   # optional: make it the default version\n   nvm alias default\n   # or set it every time like so\n   nvm use 18\n```\n\nThen install `yarn`:\n\n```bash\nnpm i -g yarn  # the default version should be ok\n```\n\n## Installation Instructions\n\nIt depends on the trace viewer plugins (traceviewer_base and traceviewer_react_components) from the [theia trace extension package][theia-trace] and the [tsp typescript client][tsp-client], as well as the [timeline chart][timeline-chart]. They are all available from the NPM package registry.\n\n- timeline-chart\n- traceviewer-base\n- traceviewer-react-components\n- tsp-typescript-client\n\nTo build the VSCode extension, run the `yarn` command:\n\n``` bash\nyarn\n```\n### Building from local sources\n\nTo build local changes in the above libraries you need to build the libaries from source code and link them to the vscode-trace-extension repository. Follow instructions on the above repositories to clone and build the libraries.\n\nAfter cloing the libraries, you need to link each library so that a local build can be used. Using command `yarn link` a reference link into the user's home directory is created under `~/.config/yarn/link`. \nThe `yarn link` command makes sure that the libraries are available locally and can be linked from the `vscode-trace-extension`. This also avoids conflicts caused by different versions of the librares and their dependencies used in the corresponding repositories.\n\nMake sure that you don't have links in `~/.config/yarn/link` from other repositories than relevant for the trace viewer. The `yarn link` command won't override exising links. For example, if there is a link to `react` with the wrong version, then there will be runtime exection problems. Remove links beforehand.\n\nAssuming all repositories are stored in your home directory under the `rootDir=~/git`\n\n```bash\ncd $rootDir/tsp-typescript-client\nyarn\ncd tsp-typescript-client\nyarn link\n```\n\n```bash\ncd $rootDir/timeline-chart\nyarn\ncd timeline-chart\nyarn link\n```\n\n```bash\ncd $rootDir/theia-trace-extension\nyarn link tsp-typescript-client\nyarn link timeline-chart\nyarn\ncd packages/base\nyarn link\ncd ../react-components\nyarn link\ncd ../../node-modules/react\nyarn link\n```\n\nTo link the local dependencies to this repository, run the following commands:\n\n```bash\ncd $rootDir/vscode-trace-extension\nyarn link tsp-typescript-client\nyarn link timeline-chart\nyarn link traceviewer-base\nyarn link traceviewer-react-components\nyarn link react\n```\n\nAfter linking the local dependencies on this repo and before running the vscode extension, run the `yarn` command:\n\n```bash\nyarn\n```\n\n### Removing links to local sources\n\nTo remove the links execute the following commands:\n\n```bash\ncd $rootDir/vscode-trace-extension\nyarn unlink tsp-typescript-client\nyarn un link timeline-chart\nyarn unlink traceviewer-base\nyarn unlink traceviewer-react-components\nyarn unlink react\n```\n\n```bash\ncd $rootDir/theia-trace-extension\nyarn unlink tsp-typescript-client\nyarn unlink timeline-chart\n```\n\nNote that you will need to run `yarn install --force` to re-install the packages that were linked.\n\n```bash\nyarn install --force\n```\n\n## Running the extension\n\nThen from VSCode, press `f5` to run the extension. The trace server needs to be started separately as described [here](#run-the-trace-server).\n\nTo open a trace use the VSCode file explorer to navigate to the trace directory. Then right mouse click on the trace and select menu option `Open with Trace Viewer`. See [here](#get-sample-traces) to get some sample traces.\n\nOpen the `Trace Viewer` view (`View` -\u003e `Open view...`).\n\n![open-trace][open-trace]\n\nTwo tabs will be visible: `Traces` and `Views`. The `Traces` tab will show all available traces on the trace server.\n\nThe `Views` tab shows all the available views for the selected trace. Click on a view to open the view under the timeline.\n\n![open-output][open-output]\n\n## Package as a VSCode extension (.vsix)\n\nTo package it as VSCode extension, run the command `yarn vsce:package`. If you get errors about case-sensitive files, just delete the node_modules folder and run `yarn` again.\n\nThe packaging will produce a `vscode-trace-extension-x.x.x.vsix` file in the subdirectory `vscode-trace-extension` of the repository.\n\n## Running the extension in VSCode, VsCodium or Theia application\n\nThe packaged VSIX file can be installed in an existing `VSCode`, `VSCodium` or `Theia` application by using [Install from a vsix][install].\n\nThe trace server needs to be started separately as described [here](#run-the-trace-server).\n\n## Running the extension in the Theia Trace Viewer example app\n\nThe packaged VSIX file can be run in the example app of the [theia-trace-extension][theia-trace]. For this the file can be can be symlinked in the `plugins` of the example app of `theia-trace-extension` repository.\n\n``` bash\ncd \u003ctheia-trace-extension root\u003e/examples/plugins\nln -s \u003cvscode-trace-extension root\u003e/vscode-trace-extension-x.x.x.vsix ./\n```\n\n## Developing the extension\n\nFrom the root directory execute `yarn run watch`.  This will watch and bundle `vscode-trace-common`, `vscode-trace-extension`, and `vscode-trace-webviews`.  All outputs will be in one terminal.  Changes can be observed and tested in the `Extension Development Host` by pressing `F5`.\n\nFor more information about `VSCode WebView API` see [here][vscode-webview].\n\n### Communication between components\n\nTo communicate between VSCode extension and webviews use the [VSCode message API][vscode-messages]. When using `vscode.postMessage(data)` data structure `data` will be serialized to JSON before being propagated. Be aware that it cannot include data structures like `BigInt`. Proper handling of such data structures need to be implemented when sending and receiving messages.\n\nInside a webview or inside the extension signals can be used where data structures can be passed on.\n\nThe following sequence diagram shows how the `experiment-selected` signal (with payload `Experiment`) is propagated inside the application. The webview `Opened Traces WebView App` is sending the signal to the`VSCode extension` which is forwarding the signal to the `Available Views WebView App`.\n\n```mermaid\nsequenceDiagram\n    actor User\n    participant reactOpenTraces as ReactOpenTracesWidget\n    participant explorerOpenTraces as TraceExplorerOpenedTraces\n    participant exOpenTraceProvider as TraceExplorerOpenedTracesViewProvider\n    participant exViewsAvailProvider as TraceExplorerAvailableViewsProvider\n    participant explorerAvailView as TraceExplorerViewsWidget\n    participant reactAvailViewsexplorerOpenTraces as ReactAvailableViewsWidget\n    participant server as Trace Server\n    User-\u003e\u003ereactOpenTraces: click on trace\n    Note over reactOpenTraces,explorerOpenTraces: Opened Traces WebView App\n    Note over exOpenTraceProvider,exViewsAvailProvider: VsCode extension\n    Note over explorerAvailView,reactAvailViewsexplorerOpenTraces: Available Views WebView App\n    reactOpenTraces-\u003e\u003eexplorerOpenTraces: sendSignal(exp-sel)\n    explorerOpenTraces-\u003e\u003eexOpenTraceProvider: vscode.postMessage(exp-sel)\n    exOpenTraceProvider-\u003e\u003eexViewsAvailProvider: sendSignal(exp-sel)\n    exViewsAvailProvider-\u003e\u003eexplorerAvailView: vscode.postMessage(exp-sel)\n    explorerAvailView-\u003e\u003ereactAvailViewsexplorerOpenTraces: sendSignal(exp-sel)\n    reactAvailViewsexplorerOpenTraces-\u003e\u003eserver: fetchOutputs(exp)\n    server-\u003e\u003ereactAvailViewsexplorerOpenTraces: success(200)\n    reactAvailViewsexplorerOpenTraces-\u003e\u003ereactAvailViewsexplorerOpenTraces: visualize availableViews\n```\n\n### Debugging the extension\n\nIt is straightforward to debug the code of the VSCode extension itself (the code in `vscode-trace-extension`) by just putting breakpoints in VSCode and running the extension with `f5`.\n\nThe react-app is another matter. The panel is a webview that is running in its own context, so current VSCode does not have access to it. _(Patches welcome!)_\n\nEach panel is its own small web application, so to debug, while in the context of the webview, press `ctrl-shift-p` and enter the command `Developer: Open Webview Developer Tools`. This will open the developer tools. The code is in the `Sources` tab of the developer tools window that opens.\n\n### Logging in the extension\n\nThe extension uses an output channel for logging. To view the logs, navigate to the output panel. The output panel can be accessed by navigating to view -\u003e open view -\u003e type 'output'. To open the extension output channel, navigate the drop down option and look for `Trace Extension`. An alternate way of opening the trace extension output channel is through command palette. Open command palette by pressing `ctrl-shift-p`, and then run `Output: Show Output Channels...\\`. This will prompt a list of available outputs. Select `Trace Extension` from the list of available outputs.\n\nFor logging to the `Trace Extension` output channel, use the `traceLogger` object instantiated in `extension.ts`. The following are examples of using the log channel:\n\n```javascript\ntraceLogger.addLogMessage('Hello from trace extension without tag');\n```\n\nThis will add the following log entry in the output channel:\n\n```text\n[2023-04-25 11:07:22.500] Hello from trace extension without tag\n```\n\n```javascript\ntraceLogger.addLogMessage('Hello from trace extension with tag', 'tag');\n```\n\nThis will add the following log entry in the output channel:\n\n```text\n[2023-04-25 11:08:40.500] [tag] Hello from trace extension with tag\n```\n\n### Troubleshooting\n\n*The `Trace Viewer` panel is not there, or disappears when switching panel.\n\nRight-click on the vscode activity bar and make sure `Trace Viewer` is checked.\n\n![trace-explorer-activity-bar][trace-explorer-activity-bar]\n\n## Run the Trace Server\n\nIn order to open traces, you need a trace server running on the same machine as the trace extension. You can download the [Eclipse Trace Compass server][tc-server] or let `yarn` download and run it:\n\n```bash\nyarn download:server\nyarn start:server\n```\n\nYou can also build the trace-server yourself using Trace Compass and the Incubator. Take a look at the [instructions here][tc-server-build].\n\n## Get sample traces\n\nTo get sample traces to try run the following command. The traces will be stored under the subdirectory `TraceCompassTutorialTraces` of the repository.\n\n```bash\nyarn download:sample-traces\n```\n\n## Running UI tests\n\nTo run the UI tests locally, use the following commands.\n\nSteps for setup that only need to be run once:\n\n```bash\nyarn download:sample-traces\nyarn download:server\nyarn download:openvscode-server\nyarn configure:openvscode-server\nyarn playwright install --with-deps\n```\n\nSteps to run once and again every time the application code is modified:\n\n```bash\nyarn\nyarn vsce:package\n# kill openvscode-server if running and restart it below\n```\n\nSteps to run once if the corresponding server is not already running:\n\n```bash\nyarn start:server \u0026 # or run in a separate shell\nyarn start:openvscode-server \u0026 # or run in a separate shell\n```\n\nTo run or re-run the tests after test code is modified:\n\n```bash\nyarn playwright test\n```\n\nTo test in debug mode, test with tracing on, or test with retries on failure, use the following options:\n\n```bash\nyarn playwright test --debug\nyarn playwright test --trace on\nyarn playwright test --retries \u003cretries\u003e\n```\n\n## Using the External API\n\nVSCode Trace Extension provides an external API that adopter extensions can rely on for communication. Currently the API is limited to the following:\n\n```typescript\ngetActiveExperiment(): Experiment | undefined;\ngetActiveWebviewPanels(): { [key: string]: TraceViewerPanel | undefined; };\ngetActiveWebviews(): vscode.WebviewView[];\nonWebviewCreated(listener: (data: vscode.WebviewView) =\u003e void): void;\nonWebviewPanelCreated(listener: (data: vscode.WebviewPanel) =\u003e void): void;\naddTraceServerContributor(contributor: TraceServerContributor): void;\nsetHandleTraceResourceType(handleFiles: boolean, handleFolders: boolean): void;\nonSignalManagerSignal(event: K extends SignalType, listener: (...args: [...SignalArgs\u003cSignals[K]\u003e]) =\u003e void | Promise\u003cvoid\u003e): void;\noffSignalManagerSignal(event: K extends SignalType, listener: (...args: [...SignalArgs\u003cSignals[K]\u003e]) =\u003e void | Promise\u003cvoid\u003e): void;\n```\n\n### Using the API from Adopter Extensions\n\n```javascript\n//The following retrieves the API object from the vscode-trace-extension\nconst ext = vscode.extensions.getExtension(\"eclipse-cdt.vscode-trace-extension\");\nconst importedApi = ext.exports;\n```\n\nOnce you have the API object, you can proceed to make API calls. For example, if you wish to retrieve the active experiment in the Trace Viewer, the following API call can be used:\n\n```javascript\nconst experiment = importedApi.getActiveExperiment();\n```\n\nThe API provides getters to retrieve the active webviews and panels. This can be useful for scenarios when webviews/panels were created before the adopter extension was activated but the adopter extension still wants to handle messages from them.\n\n`Note`: The the command key was changed from `message.command` to `method.method` after version `0.4.0`. Please update your code for that.\n\n```javascript\nfor (const webview of importedApi.getActiveWebviews()) {\n    webview.webview.onDidReceiveMessage((message) =\u003e {\n        switch (message.method) {\n            case \"webviewReady\":\n            console.log(\"From adopter extension - webviewReady signal received\");\n            break;\n            default:\n            break;\n        }\n    });\n}\n```\n\nThe API also provides a way to attach a listener for when webview or webview panel is created. Note that this listener will not be called for webviews and panels created before the registration of the listener. It is recommended to register the listeners during the activation of the adopter extensions.\n\n`Note`: The key for the command key was changed from `message.command` to `method.method` after version `0.4.0`. Please update your code for that.\n\n```javascript\nimportedApi.onWebviewPanelCreated(_panel =\u003e {\n    // For newly created panel, handle messages from webviews\n    _panel.webview.onDidReceiveMessage((message) =\u003e {\n        switch (message.method) {\n            case \"webviewReady\":\n            console.log(\"From adopter extension - webviewReady signal received\");\n            break;\n            default:\n            break;\n        }\n    });\n    _panel.onDidDispose(() =\u003e {\n        console.log(\"panel disposed\");\n    });\n});\n```\n\nAs a general rule, adopter extensions should retrieve and handle the webviews and webview panels once during their activation by calling `getActiveWebviews` and `getActiveWebviewPanels`. This ensures that the webviews and panels created before the activation of the adopter extension are handled. To handle any new webviews and panels created afterwards, listeners can be registered by calling `onWebviewCreated` and `onWebviewPanelCreated`.\n\nThe adopter extensions can also add and remove listeners to signals propagated within the base extension.\n\n```javascript\nconst _onExperimentOpened = (experiment: Experiment): void =\u003e {\n    console.log(experiment.UUID);\n};\n//Add a listener\nimportedApi.onSignalManagerSignal('EXPERIMENT_OPENED', _onExperimentOpened);\n//Remove a listener\nimportedApi.offSignalManagerSignal('EXPERIMENT_OPENED', _onExperimentOpened);\n```\n\nIf the adopter extensions needs to add a custom hook to the trace server's start/stop API, a contribution can be made by calling `addTraceServerContributor`.\n\n```javascript\nconst contributor: TraceServerContributor = {\n    startServer: async () =\u003e { \n        //Perform pre-startup actions\n        //Start the server\n        console.log(\"server started\"); \n        },\n    stopServer: async () =\u003e {\n        //Perform cleanup actions\n        //Stop the server\n        console.log(\"server stopped\"); \n    },\n    isApplicable: (pathToTrace: string) =\u003e {\n        //Check whether this contributor applies for the trace at 'pathToTrace'\n        return true; \n    }\n  };\n\nimportedApi.addTraceServerContributor(contributor);\n```\n\nIf adopter extensions want to customize the type of trace resources (File and/or Folder) that the base extension should handle, it can be set by calling `setHandleTraceResourceType`.\n\n```javascript\nconst handleTraceFiles = true;\nconst handleTraceFolders = false;\n\n//The base extension will only provide support for trace files, and not for trace folders\nimportedApi.setHandleTraceResourceType(handleTraceFiles, handleTraceFolders);\n```\n\n### Remote SSH Support\n\nThe `Trace Viewer for VSCode` extension is compatible with the use of [remote-ssh](https://code.visualstudio.com/docs/remote/ssh).  If you are using `remote-ssh`, you can simply install `Trace Viewer for VSCode` extension on your remote machine and begin using the extension. For VSCode compatible applications you can install the [open-remote-ssh][open-remote-ssh] extension from the [public OpenVSX registry][open-vsx] to get similar functionality.\n\nThe remote support works by forwarding the Trace Server's operating port from the client machine to the remote machine. The port is automatically forwarded on Trace Server startup.\n\nForwarded ports can be seen in the 'Ports' view of the remote VsCode.  To open the `Ports` view use menu `View -\u003e Open view... -\u003e Ports`.  You should see the forwarded Trace Server port in the `Ports` view, as shown below:\n\n![ports-tab][vscode-ports-tab]\n\nMake sure that there is no Trace Server running on your local host. If the `Trace Viewer for VSCode` is unresponsive, stop the port forwarding by pressing the 'Stop Port Fowarding (Delete)' of the trace server port and restart remote VSCode.\n\nMake sure that the `Enable separate backend URL` setting of the `Trace Viewer for VSCode` extension is deselected (because the port can only be forwarded once).\n\nIf you are a developer of the `Trace Viewer for VsCode` and want to modify and test the extension, you can [package it as a VSCode extension (.vsix)](#package-as-a-vscode-extension-vsix), upload the `VSIX` to the remote host and install the extension using the `Install from VSIX...` view menu of the `Extensions` view.\n\n## Release/publish\n\nWe use GitHub CI to create a GitHub release and the corresponding git tag, and also to publish this repo's VSCode extension to the `open-vsx.org` and the `Visual Studio Marketplace` registries.\n\n### Triggering a new release\n\nWhenever a new release is desired, it can be triggered through a PR, as per the following:\n\nCreate a new branch for your PR, based on the repo's latest state. e.g.\n\n```bash\ngit branch new-release \u0026\u0026 git checkout new-release\n```\n\nThen decide if the release shall be a `Major`, `Minor` or `Patch` release and use the corresponding command below to step the package's versions, according to the release type. A new release commit will be created:\n\n``` bash\nyarn version:major\n# or\nyarn version:minor\n# or\nyarn version:patch\n```\n\nModify the _version tag_ in file `./RELEASE`, to match the new release. Amend the release commit to include this change:\n\n```bash\ngit add RELEASE \u0026\u0026 git commit --amend\n```\n\nFinally, push the branch to the main repository (not a fork!) and use it to create a PR. When the PR is merged, a GitHub release should be created with auto-generated release notes, as well as a git tag. Then the `publish-*` CI jobs should trigger, and if everything goes well, publish the new version of the extension to both registries.\n\n## Intital contribution\nThe code was migrated from the [PR in theia-trace-extension][init-contrib].\n\n[init-contrib]: https://github.com/eclipse-cdt-cloud/theia-trace-extension/pull/124\n[install]: https://code.visualstudio.com/docs/editor/extension-marketplace#_install-from-a-vsix\n[open-output]: https://raw.githubusercontent.com/eclipse-cdt-cloud/vscode-trace-extension/master/doc/images/vscode-trace-extension-001.png\n[open-remote-ssh]: https://open-vsx.org/extension/jeanp413/open-remote-ssh\n[open-trace]: https://raw.githubusercontent.com/eclipse-cdt-cloud/vscode-trace-extension/master/doc/images/vscode-open-with-trace-viewer-001.png\n[open-vsx]: https://www.open-vsx.org/\n[theia-trace]: https://github.com/eclipse-cdt-cloud/theia-trace-extension/\n[tc-open-vsx]: https://www.open-vsx.org/extension/eclipse-cdt/vscode-trace-extension\n[tc-server]: https://download.eclipse.org/tracecompass.incubator/trace-server/rcp/?d\n[tc-server-build]: https://www.eclipse.org/tracecompass/download.html#trace-server\n[timeline-chart]: https://github.com/eclipse-cdt-cloud/timeline-chart/\n[trace-explorer-activity-bar]: https://raw.githubusercontent.com/eclipse-cdt-cloud/vscode-trace-extension/master/doc/images/vscode-show-trace-viewer-001.png\n[tsp-client]: https://github.com/eclipse-cdt-cloud/tsp-typescript-client/\n[vscode-messages]: https://code.visualstudio.com/api/extension-guides/webview#passing-messages-from-an-extension-to-a-webview\n[vscode-webview]: https://github.com/rebornix/vscode-webview-react\n[vscode-webview-react]: https://github.com/rebornix/vscode-webview-react\n[vscode-ports-tab]: https://raw.githubusercontent.com/eclipse-cdt-cloud/vscode-trace-extension/master/doc/images/vscode-ports-tab-001.png\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-cdt-cloud%2Fvscode-trace-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclipse-cdt-cloud%2Fvscode-trace-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-cdt-cloud%2Fvscode-trace-extension/lists"}