76 lines
No EOL
2.8 KiB
JSON
76 lines
No EOL
2.8 KiB
JSON
{
|
|
"name": "LTTng Traced ROS2 Scheduling Experiments",
|
|
"build": {
|
|
// Sets the run context to one level up instead of the .devcontainer folder.
|
|
"context": "..",
|
|
// Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename.
|
|
"dockerfile": "../Dockerfile"
|
|
},
|
|
"runArgs": [
|
|
"--privileged", // for real-time access
|
|
"--cap-add=sys_nice",
|
|
"--cap-add=SYS_ADMIN",
|
|
"--cap-add=SYS_PTRACE",
|
|
"--ulimit", "rtprio=99", // for real-time access
|
|
// explicitly mount /sys and /dev to allow access to the host's devices
|
|
// and system information
|
|
"--mount", "type=bind,source=/sys,target=/sys",
|
|
"--mount", "type=bind,source=/dev,target=/dev",
|
|
// mount /lib/modules and /usr/lib/modules to allow access to the host's kernel modules
|
|
"--mount", "type=bind,source=/lib/modules,target=/lib/modules",
|
|
"--mount", "type=bind,source=/usr/lib/modules,target=/usr/lib/modules"
|
|
],
|
|
// Features to add to the dev container. More info: https://containers.dev/features.
|
|
// "features": {},
|
|
|
|
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
|
// "forwardPorts": [],
|
|
|
|
// Uncomment the next line to run commands after the container is created.
|
|
"postCreateCommand": "bash postCreate.sh",
|
|
|
|
// Uncomment the next line to run commands after the container is created and started.
|
|
"postStartCommand": "sudo modprobe lttng-tracer && sudo modprobe lttng-ring-buffer-client-discard && sudo modprobe lttng-probe-sched && sudo modprobe lttng-probe-irq && sudo modprobe lttng-probe-timer && (sudo lttng-sessiond --daemonize || true)",
|
|
|
|
// Configure tool-specific properties.
|
|
"customizations": {
|
|
"vscode": {
|
|
"settings": {
|
|
"terminal.integrated.shell.linux": "/bin/bash",
|
|
"terminal.integrated.defaultProfile.linux": "bash",
|
|
"C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools"
|
|
},
|
|
"extensions": [
|
|
"ms-vscode.cpptools",
|
|
"ms-vscode.cpptools-extension-pack",
|
|
"ms-vscode.cmake-tools",
|
|
"ms-azuretools.vscode-docker",
|
|
"ms-vscode.cpptools-themes",
|
|
"ms-iot.vscode-ros",
|
|
"GitHub.github-vscode-theme",
|
|
"ms-toolsai.jupyter",
|
|
"ms-toolsai.jupyter-keymap",
|
|
"ms-toolsai.vscode-jupyter-slideshow",
|
|
"ms-toolsai.vscode-jupyter-cell-tags",
|
|
"ms-toolsai.jupyter-renderers",
|
|
"ms-python.debugpy",
|
|
"ms-python.python",
|
|
"ms-python.vscode-python-envs"
|
|
]
|
|
}
|
|
},
|
|
|
|
"features": {
|
|
// optional but convenient
|
|
"ghcr.io/devcontainers/features/common-utils:2": {}
|
|
},
|
|
|
|
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/${localWorkspaceFolderBasename},type=bind,consistency=cached",
|
|
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
|
|
"containerEnv": {
|
|
"TRACETOOLS_TRACEPOINTS_ENABLED": "1"
|
|
},
|
|
|
|
// Uncomment to connect as an existing user other than the container default. More info: https://aka.ms/dev-containers-non-root.
|
|
"remoteUser": "dev"
|
|
} |