-
Notifications
You must be signed in to change notification settings - Fork 288
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[profile] Initial profiling setup with Tracy
- Loading branch information
Showing
14 changed files
with
217 additions
and
11 deletions.
There are no files selected for viewing
This file contains 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 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 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 |
---|---|---|
@@ -1,6 +1,7 @@ | ||
# Build dependencies | ||
brew 'cmake' | ||
brew 'pkg-config' | ||
brew 'tracy' | ||
|
||
brew 'assimp' | ||
brew 'bullet' | ||
|
This file contains 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 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 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 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,59 @@ | ||
/* | ||
* Copyright (c) 2011-2024, The DART development contributors | ||
* All rights reserved. | ||
* | ||
* The list of contributors can be found at: | ||
* https://github.com/dartsim/dart/blob/main/LICENSE | ||
* | ||
* This file is provided under the following "BSD-style" License: | ||
* Redistribution and use in source and binary forms, with or | ||
* without modification, are permitted provided that the following | ||
* conditions are met: | ||
* * Redistributions of source code must retain the above copyright | ||
* notice, this list of conditions and the following disclaimer. | ||
* * Redistributions in binary form must reproduce the above | ||
* copyright notice, this list of conditions and the following | ||
* disclaimer in the documentation and/or other materials provided | ||
* with the distribution. | ||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND | ||
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, | ||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR | ||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | ||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN | ||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
* POSSIBILITY OF SUCH DAMAGE. | ||
*/ | ||
|
||
#pragma once | ||
|
||
#include <dart/config.hpp> | ||
|
||
#if DART_BUILD_PROFILE | ||
#include <tracy/Tracy.hpp> | ||
#endif | ||
|
||
#if DART_BUILD_PROFILE | ||
|
||
#define DART_PROFILE_FRAME FrameMark | ||
#define DART_PROFILE_SCOPED ZoneScoped | ||
#define DART_PROFILE_SCOPED_N(name) ZoneScopedN(name) | ||
|
||
#else // no-op | ||
|
||
#define DART_PROFILE_FRAME | ||
#define DART_PROFILE_SCOPED | ||
#define DART_PROFILE_SCOPED_N(name) | ||
|
||
#endif | ||
|
||
namespace dart::common { | ||
|
||
// | ||
|
||
} // namespace dart::common |
This file contains 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 |
---|---|---|
|
@@ -96,3 +96,5 @@ | |
#cmakedefine BT_USE_DOUBLE_PRECISION | ||
|
||
#cmakedefine01 DART_USE_SYSTEM_IMGUI | ||
|
||
#cmakedefine01 DART_BUILD_PROFILE |
This file contains 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 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 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,34 @@ | ||
# Use an Ubuntu base image | ||
FROM ubuntu:22.04 | ||
|
||
# Avoid warnings by switching to noninteractive | ||
ENV DEBIAN_FRONTEND=noninteractive | ||
|
||
# Install build dependencies, X11 libraries, CA certificates, and Wayland protocols | ||
RUN apt-get update && apt-get install -y \ | ||
build-essential \ | ||
cmake \ | ||
git \ | ||
libx11-dev \ | ||
libgl1-mesa-dev \ | ||
libgtk-3-dev \ | ||
xorg-dev \ | ||
ca-certificates \ | ||
wayland-protocols \ | ||
--no-install-recommends \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Clone the Tracy Profiler repository | ||
RUN git clone --depth 1 https://github.com/wolfpld/tracy.git | ||
|
||
# Build Tracy Profiler | ||
WORKDIR /tracy/profiler/build/unix | ||
RUN cmake ../.. && make | ||
|
||
# Use the `entrypoint.sh` to start the profiler | ||
COPY entrypoint.sh /entrypoint.sh | ||
RUN chmod +x /entrypoint.sh | ||
ENTRYPOINT ["/entrypoint.sh"] | ||
|
||
# Reset the frontend to its default value | ||
ENV DEBIAN_FRONTEND= |
This file contains 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,37 @@ | ||
# Use an Arch Linux base image | ||
FROM archlinux:latest | ||
|
||
# Update system and install build dependencies | ||
RUN pacman -Syu --noconfirm \ | ||
&& pacman -Syu --noconfirm \ | ||
base-devel \ | ||
cmake \ | ||
git \ | ||
freetype2 \ | ||
tbb \ | ||
debuginfod \ | ||
wayland \ | ||
dbus \ | ||
libxkbcommon \ | ||
libglvnd \ | ||
meson \ | ||
wayland-protocols \ | ||
--needed --noconfirm \ | ||
&& pacman -Scc --noconfirm | ||
|
||
# Clone the Tracy Profiler repository | ||
RUN git clone --depth 1 https://github.com/wolfpld/tracy.git | ||
|
||
# Build Tracy Profiler GUI | ||
WORKDIR /tracy/profiler/build | ||
RUN cmake -S ../ -B . && cmake --build . --config Release --parallel | ||
|
||
# Assuming you want to build other utilities as well | ||
# Repeat the cmake build process for each utility as shown in the GitHub Actions setup | ||
|
||
# Use an `entrypoint.sh` to start the profiler (make sure to include this in your Docker context) | ||
COPY entrypoint.sh /entrypoint.sh | ||
RUN chmod +x /entrypoint.sh | ||
ENTRYPOINT ["/entrypoint.sh"] | ||
|
||
# Note: There's no need to reset DEBIAN_FRONTEND since it's not used in Arch Linux |
This file contains 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,8 @@ | ||
#!/bin/bash | ||
# entrypoint.sh | ||
|
||
# Use the host's display server for the GUI | ||
export DISPLAY=host.docker.internal:0 | ||
|
||
# Start Tracy Profiler | ||
./tracy/profiler/build/unix/Tracy-release |
This file contains 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