ROS-Dynamic-Executor-Experi.../.devcontainer/devcontainer.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"
}