-
Notifications
You must be signed in to change notification settings - Fork 27
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
Changes from 1 commit
57247c9
d9f591b
73c93ba
a212358
8bf6e7f
c7696d7
a0fe327
8bbcc07
90395bd
c8aa3f3
3b798c0
ba917fb
8d4caf9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -31,3 +31,4 @@ lib/ | |
| *.exe | ||
| livekit.log | ||
| web/ | ||
| *trace.json | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| /* | ||
| * Copyright 2024 LiveKit | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. year
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good catch, done with changing it to 2026 on all the relevant files.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. still says 2024?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sorry, I missed this file, now it should be fixed. |
||
| * | ||
| * 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 | ||
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.