-
Notifications
You must be signed in to change notification settings - Fork 24
Implement Chromium tracing in SDK and some benchmark code under tests #85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
xianshijing-lk
merged 13 commits into
main
from
sxian/CLT-2717/add_chromium_tracing_and_benchmark_foundation
Apr 16, 2026
Merged
Changes from all commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
57247c9
Implement Chromium tracing in SDK and some benchmark code under tests
xianshijing-lk d9f591b
fix the license year
xianshijing-lk 73c93ba
Merge branch 'main' into sxian/CLT-2717/add_chromium_tracing_and_benc…
xianshijing-lk a212358
fix the windows build
xianshijing-lk 8bf6e7f
fix the year of copyright
xianshijing-lk c7696d7
added section in the readme
xianshijing-lk a0fe327
Merge branch 'main' into sxian/CLT-2717/add_chromium_tracing_and_benc…
xianshijing-lk 8bbcc07
fix the rebase problem
xianshijing-lk 90395bd
added the missing spdlog
xianshijing-lk c8aa3f3
fix the build
xianshijing-lk 3b798c0
another try to fix the windows build
xianshijing-lk ba917fb
recover some CMakelists.txt changes that get removed from rebasing
xianshijing-lk 8d4caf9
fix windows temp path
xianshijing-lk File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -32,4 +32,5 @@ lib/ | |
| *.exe | ||
| livekit.log | ||
| web/ | ||
| *trace.json | ||
| compile_commands.json | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| /* | ||
| * Copyright 2026 LiveKit | ||
| * | ||
| * Licensed under the Apache License, Version 2.0 (the "License"); | ||
| * you may not use this file except in compliance with the License. | ||
| * You may obtain a copy of the License at | ||
| * | ||
| * http://www.apache.org/licenses/LICENSE-2.0 | ||
| * | ||
| * Unless required by applicable law or agreed to in writing, software | ||
| * distributed under the License is distributed on an "AS IS" BASIS, | ||
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| * See the License for the specific language governing permissions and | ||
| * limitations under the License. | ||
| */ | ||
|
|
||
| #pragma once | ||
|
|
||
| #include <string> | ||
| #include <vector> | ||
|
|
||
| namespace livekit { | ||
|
|
||
| /** | ||
| * Start tracing and write events to a file. | ||
| * | ||
| * Events are written to the file asynchronously by a background thread. | ||
| * The file is written in Chrome trace format (JSON), viewable in: | ||
| * - Chrome: chrome://tracing | ||
| * - Perfetto: https://ui.perfetto.dev | ||
| * | ||
| * @param trace_file_path Path to the output trace file (e.g., "trace.json") | ||
| * @param categories Categories to enable (empty = all categories). | ||
| * Supports wildcards: "livekit.*" matches all livekit | ||
| * categories. | ||
| * @return true if tracing was started, false if already running or file error | ||
| */ | ||
| bool startTracing(const std::string &trace_file_path, | ||
| const std::vector<std::string> &categories = {}); | ||
|
|
||
| /** | ||
| * Stop tracing and flush remaining events to file. | ||
| * | ||
| * This blocks until all pending events are written and the file is closed. | ||
| * After stopping, the trace file is complete and ready for analysis. | ||
| */ | ||
| void stopTracing(); | ||
|
|
||
| /** | ||
| * Check if tracing is currently active. | ||
| * | ||
| * @return true if tracing is running | ||
| */ | ||
| bool isTracingEnabled(); | ||
|
|
||
| } // namespace livekit |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the reason for including this here if it doesnt get used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like its private?
https://github.com/livekit/client-sdk-cpp/pull/85/changes#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20aR382
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The APIs at tracing.h is public:
bool startTracing(const std::string &trace_file_path,
const std::vectorstd::string &categories = {});
void stopTracing();
bool isTracingEnabled();
Developers can start / stop tracing based on their needs, by default it is stopped.