Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:MaterializeInc Materialize Debug Symbols Uploader

From Leeroopedia


Knowledge Sources
Domains CI/CD, Profiling, Observability
Last Updated 2026-02-08 00:00 GMT

Overview

The Debug Symbols Uploader uploads debug information (debuginfo) and source files from Materialize build artifacts to Polar Signals for continuous profiling support.

Description

This module provides the upload_debug_symbols_to_polarsignals CI script that extracts debug symbols from built Materialize Docker images and uploads them to Polar Signals (the continuous profiling provider). It supports downloading debuginfo via S3 or HTTP from the debuginfo.dev.materialize.com endpoint, handles multiple CPU architectures (x86_64, aarch64), and authenticates with one or more Polar Signals API tokens. The upload is restricted to tagged release builds to control costs, as Polar Signals storage is expensive. It uses the parca-debuginfo CLI tool for the actual upload operation.

Usage

Use this module in CI release pipelines to ensure debug symbols are available in Polar Signals for profiling production Materialize deployments. It is only invoked for tagged release builds.

Code Reference

Source Location

Signature

DEBUGINFO_URL = "https://debuginfo.dev.materialize.com"

DEFAULT_TOKENS = [
    t for t in (
        os.getenv("POLAR_SIGNALS_API_TOKEN"),
        os.getenv("POLAR_SIGNALS_SELF_MANAGED_1_API_TOKEN"),
    ) if t is not None
]

def main() -> None: ...

Import

from materialize.ci_util.upload_debug_symbols_to_polarsignals import main

I/O Contract

Input Type Description
--arch str Target architecture: "x86_64" or "aarch64"
--protocol str Download protocol: "s3" or "http"
--token str Polar Signals API token(s) (repeatable, defaults to env vars)
--build-id str Optional specific build ID to upload (skips Docker image resolution)
--release bool Use release (LTO) build artifacts
Output Type Description
upload Polar Signals API Debug symbols uploaded via parca-debuginfo CLI

Usage Examples

# Upload debug symbols for a release build
python -m materialize.ci_util.upload_debug_symbols_to_polarsignals --release --arch x86_64

# Upload for a specific build ID
python -m materialize.ci_util.upload_debug_symbols_to_polarsignals --build-id abc123

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment