Trackio documentation

Variabel Lingkungan

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Variabel Lingkungan

Trackio menggunakan variabel lingkungan untuk mengonfigurasi berbagai aspek perilakunya, khususnya untuk deployment ke Hugging Face Spaces dan persistensi data. Panduan ini membahas variabel lingkungan utama beserta penggunaannya.

Variabel Lingkungan Inti

TRACKIO_DIR

Menentukan direktori khusus untuk menyimpan data Trackio. Secara default, Trackio menyimpan data di ~/.cache/huggingface/trackio/.

export TRACKIO_DIR="/path/to/trackio/data"

Catatan: Variabel lingkungan ini berlaku selama Trackio tidak berjalan di Space dengan penyimpanan persisten yang diaktifkan. Jika Trackio berjalan di Space dengan penyimpanan persisten yang diaktifkan (yang terdeteksi dengan variabel lingkungan PERSISTANT_STORAGE_ENABLED), maka data Trackio akan disimpan di /data/trackio.

TRACKIO_SERVER_URL

URL dasar dari server Trackio yang di-host sendiri (http:// atau https://). Anda dapat menyertakan write_token dalam query string (seperti pada full_url dari trackio.show()), atau membiarkan URL polos dan mengatur TRACKIO_WRITE_TOKEN sebagai gantinya. Ketika diatur, trackio.init() mengirim metrik ke server tersebut. Setara dengan meneruskan server_url= ke trackio.init().

Precedensi: Jika TRACKIO_SPACE_ID juga disetel (atau space_id diteruskan dalam kode), Hugging Face Space akan digunakan dan TRACKIO_SERVER_URL diabaikan. Aturan yang sama berlaku ketika space_id dan server_url keduanya diteruskan: space_id yang menang.

Lihat Self-host the Server.

export TRACKIO_SERVER_URL="http://127.0.0.1:7860"
export TRACKIO_WRITE_TOKEN="YOUR_TOKEN"

TRACKIO_WRITE_TOKEN

Token tulis write token dashboard untuk server Trackio self-hosted (nilai yang sama dengan parameter query write_token dalam URL akses tulis). Ketika disetel pada server Trackio, nilai ini digunakan sebagai token tulis server alih-alih menghasilkan token acak saat startup. Ketika disetel pada klien Trackio, gunakan ini ketika TRACKIO_SERVER_URL atau server_url adalah URL dasar tanpa parameter query. Klien mengirim token ini pada setiap permintaan (misalnya sebagai header X-Trackio-Write-Token) sehingga ingest metrik dan unggahan terautentikasi ketika tidak berjalan di Hugging Face Spaces.

TRACKIO_FRONTEND_DIR

Path ke direktori frontend statis kustom untuk Trackio. Direktori harus berisi index.html.

Ketika diset, Trackio menggunakan frontend tersebut untuk trackio.show() dan untuk alur deploy seperti trackio.sync() dan trackio.freeze(), kecuali argumen frontend_dir / --frontend yang eksplisit diberikan.

export TRACKIO_FRONTEND_DIR="/path/to/my-trackio-frontend"

Jika direktori yang dikonfigurasi tidak valid, Trackio mengabaikannya dan kembali ke logika pemilihan bawaan untuk frontend. Perilaku salin template starter otomatis hanya berlaku ketika argumen eksplisit frontend_dir / --frontend menunjuk ke direktori yang tidak ada atau kosong.

TRACKIO_LOGO_LIGHT_URL dan TRACKIO_LOGO_DARK_URL

Sesuaikan logo yang ditampilkan di dasbor Trackio untuk tema terang dan gelap. Anda dapat menyediakan URL ke logo kustom. Perhatikan bahwa kedua variabel lingkungan harus disediakan; jika tidak, default Trackio akan digunakan untuk variabel yang tidak disediakan.

export TRACKIO_LOGO_LIGHT_URL="https://example.com/logo-light.png"
export TRACKIO_LOGO_DARK_URL="https://example.com/logo-dark.png"

Catatan: Untuk Trackio Spaces jarak jauh, variabel lingkungan ini hanya diterapkan saat Space pertama kali dibuat melalui trackio.init(space_id=...). Untuk mengubah logo pada Space yang sudah ada, perbarui variabel Space secara langsung di pengaturan Hugging Face Space.

TRACKIO_PLOT_ORDER

Mengontrol urutan plot dan grup metrik di dasbor Trackio. Nilainya harus berupa daftar pola metrik yang dipisahkan koma untuk menentukan urutan yang diinginkan. Grup tetap dipertahankan - jika train/loss ditentukan pertama, semua metrik train/* lainnya akan muncul bersama dalam grup train, dengan train/loss muncul pertama di dalam grup tersebut.

Jika sebuah pola tidak cocok dengan metrik apa pun, pola tersebut diabaikan tanpa menyebabkan error.

export TRACKIO_PLOT_ORDER="train/loss,val/loss"


**Pattern Matching:**
- **Exact matches**: `train/loss` matches exactly `train/loss`
- **Group wildcards**: `train/*` matches all metrics starting with `train/`
- **Partial wildcards**: `*gpu*` matches any metric containing "gpu"

**Behavior:**
- Metrics are grouped first (e.g., all `train/*` metrics stay together)
- Within each group, metrics are ordered according to the specified patterns
- Groups appear in the order of their first matching pattern
- Unspecified metrics appear in alphabetical order after specified ones

> **Note:** For remote Trackio Spaces, this environment variable is only applied when the Space is first created via `trackio.init(space_id=...)`. To change the plot order on an existing Space, update the `TRACKIO_PLOT_ORDER` Space variable directly in the Hugging Face Space settings.

### `TRACKIO_THEME`

Sets the theme for the Trackio dashboard. Can be a built-in Gradio theme name or a theme from the Hugging Face Hub.

```bash
# Built-in themes
export TRACKIO_THEME="soft"
export TRACKIO_THEME="citrus"
export TRACKIO_THEME="monochrome"

# Themes from the Hub
export TRACKIO_THEME="gstaff/xkcd"
export TRACKIO_THEME="ParityError/Anime"

Catatan: Untuk Trackio Spaces jarak jauh, variabel lingkungan ini hanya diterapkan saat Space pertama kali dibuat melalui trackio.init(space_id=...). Untuk mengubah tema pada Space yang sudah ada, perbarui variabel Space TRACKIO_THEME secara langsung di pengaturan Hugging Face Space.

TRACKIO_COLOR_PALETTE

Menyesuaikan palet warna yang digunakan untuk garis plot di dasbor Trackio. Nilainya harus berupa daftar kode warna heksadesimal yang dipisahkan oleh koma. Warna-warna ini akan digunakan secara bergiliran saat memplot beberapa run.

export TRACKIO_COLOR_PALETTE="#FF0000,#00FF00,#0000FF,#FFFF00,#FF00FF,#00FFFF"

Palet default: #A8769B, #E89957, #3B82F6, #10B981, #EF4444, #8B5CF6, #14B8A6, #F59E0B, #EC4899, #06B6D4

TRACKIO_TABLE_TRUNCATE_LENGTH

Mengontrol panjang maksimum nilai string yang ditampilkan dalam sel tabel sebelum dipotong. Ketika nilai sel melebihi panjang ini, nilai tersebut akan dipotong dengan elemen yang dapat diperluas untuk memungkinkan tampilan teks lengkap. Secara default, nilainya adalah 250 karakter.

export TRACKIO_TABLE_TRUNCATE_LENGTH="500"

TRACKIO_STORAGE_MODE

Mengontrol cara Trackio menyimpan data secara lokal. Nilai yang diizinkan: auto (default), sqlite, jsonl.

  • sqlite: proses pelatihan menulis langsung ke basis data SQLite proyek (perilaku historis).
  • jsonl: proses pelatihan menulis fragmen JSONL append-only ke TRACKIO_DIR/inbox/, satu file per proses; server dashboard (trackio show) mengimpor mereka ke SQLite. Hal ini sepenuhnya menghindari penulisan SQLite secara bersamaan, yang membuat Trackio aman pada sistem berkas jaringan (NFS, Lustre, FSx, GPFS, WekaFS, CephFS, …) di mana semantik penguncian dan mmap SQLite tidak andal.
  • auto: memilih jsonl secara otomatis ketika TRACKIO_DIR terdeteksi berada pada sistem berkas jaringan (hanya Linux), selain itu sqlite.
export TRACKIO_STORAGE_MODE="jsonl"

TRACKIO_INBOX_POLL_INTERVAL

Seberapa sering (dalam detik) server dashboard dan Trackio Spaces memeriksa fragmen JSONL baru untuk diimpor, baik dari direktori inbox lokal maupun dari inbox Hugging Face Bucket. Nilainya secara default adalah 15; nilai di bawah 5 akan dibatasi menjadi 5.

export TRACKIO_INBOX_POLL_INTERVAL="30"

TRACKIO_SQLITE_* (lanjutan)

Override PRAGMAs yang diset oleh Trackio pada koneksi SQLite-nya. Ini terutama berguna pada sistem file yang tidak biasa; nilai yang tidak valid akan diabaikan.

  • TRACKIO_SQLITE_JOURNAL_MODE: salah satu dari wal, delete, truncate, persist, memory, off. Secara default menggunakan wal secara lokal dan delete di Spaces.
  • TRACKIO_SQLITE_MMAP_SIZE: ukuran I/O memory-mapped dalam byte. Nilainya secara default 0 (nonaktif) di mana pun, karena pembacaan memory-mapped adalah pemicu langsung untuk crash SIGBUS pada sistem berkas jaringan dan memberikan sedikit manfaat untuk beban kerja Trackio.
  • TRACKIO_SQLITE_SYNCHRONOUS: salah satu dari off, normal, full, extra. Bawaan adalah normal.
  • TRACKIO_SQLITE_LOCKING_MODE: salah satu dari normal, exclusive. Bawaan adalah exclusive di Spaces, normal di tempat lain.
  • TRACKIO_SQLITE_TEMP_STORE: salah satu dari default, file, memory. Bawaan adalah memory.

Setup klaster yang direkomendasikan: jika direktori home atau cache Anda berada pada sistem berkas bersama (/fsx, Lustre, NFS, GPFS, WekaFS, …), arahkan TRACKIO_DIR ke disk lokal node (misalnya /tmp atau $SLURM_TMPDIR), atau andalkan TRACKIO_STORAGE_MODE=auto yang mendeteksi sistem berkas jaringan dan beralih ke pencatatan fragmen JSONL. Jika Anda harus menulis SQLite langsung pada sistem berkas bersama, atur:

export TRACKIO_SQLITE_JOURNAL_MODE="delete"
export TRACKIO_SQLITE_MMAP_SIZE="0"

TRACKIO_WEBHOOK_URL

Menetapkan URL webhook global untuk peringatan. Ketika diatur, setiap pemanggilan ke trackio.alert() akan mengirim POST payload peringatan ke URL ini. Mendukung URL webhook Slack dan Discord secara native (payload diformat secara otomatis). Dapat ditimpa per-peringatan atau per-run melalui parameter webhook_url.

export TRACKIO_WEBHOOK_URL="https://hooks.slack.com/services/T.../B.../xxx"

Lihat Panduan Alert untuk detail lebih lanjut.

TRACKIO_WEBHOOK_MIN_LEVEL

Menetapkan tingkat peringatan minimum yang harus dikirim ke webhook. Peringatan di bawah tingkat ini masih dicetak ke terminal, disimpan di database, dan ditampilkan di dasbor, tetapi tidak dikirim ke tujuan webhook.

Nilai yang diizinkan: info, warn, error.

export TRACKIO_WEBHOOK_MIN_LEVEL="warn"

Dengan warn, hanya peringatan WARN dan ERROR yang dikirim ke URL webhook.

TRACKIO_CAPTURE_CONSOLE

Ketika diatur ke 1 atau true, Trackio menangkap semua yang ditulis ke stdout dan stderr selama sebuah run dan menampilkannya di halaman run tersebut pada dashboard. Setara dengan meneruskan capture_console=True ke trackio.init(); argumen capture_console yang eksplisit memiliki prioritas.

export TRACKIO_CAPTURE_CONSOLE=1

Lihat Mengambil output konsol dan perintah peluncuran untuk detail lebih lanjut.

TRACKIO_HANDLE_SIGTERM

Ketika diset ke 1 atau true, trackio.init() memasang handler SIGTERM yang mengubah sinyal menjadi keluaran normal, sehingga run selesai dan metrik terakhir serta output konsolnya disimpan ketika proses dihentikan oleh batas waktu Slurm, docker stop, atau evikasi Kubernetes. Kode keluar tetap 143. Handler hanya dipasang dari thread utama dan hanya ketika tidak ada handler SIGTERM lain yang diset. Fitur ini nonaktif secara default karena mengubah cara seluruh proses merespons SIGTERM: misalnya, proses menunggu thread non-daemon sebelum keluar, dan framework yang merangkai handler yang sudah ada (seperti Slurm auto-requeue dari PyTorch Lightning) akan keluar alih-alih mengabaikan sinyal.

export TRACKIO_HANDLE_SIGTERM=1

TRACKIO_BUCKET_ID

ID dari Hugging Face Bucket (misalnya username/bucketname) yang digunakan untuk mempersist data Trackio saat dijalankan di Hugging Face Space. Ini biasanya diatur secara otomatis di Space saat dibuat melalui trackio.init(space_id=...) atau trackio.sync(...); sebuah bucket dibuat secara otomatis dari ID Space kecuali bucket_id eksplisit disediakan.

export TRACKIO_BUCKET_ID="username/my-trackio-bucket"

TRACKIO_DATASET_ID (tidak didukung lagi)

Nonaktif: Menyimpan data Trackio ke Dataset Hugging Face (dataset_id / TRACKIO_DATASET_ID) telah dinonaktifkan dan akan dihapus pada versi Trackio mendatang. Gunakan Hugging Face Bucket sebagai gantinya (bucket_id / TRACKIO_BUCKET_ID).

ID dari Hugging Face Dataset (misalnya username/datasetname) yang menjadi tujuan sinkronisasi data Trackio Space melalui penjadwal commit latar belakang. Ketika diset pada sebuah Space, Trackio mengeluarkan peringatan deprekasi dan untuk saat ini tetap melanjutkan sinkronisasi ke Dataset tersebut.

export TRACKIO_DATASET_ID="username/my-trackio-dataset"

HF_TOKEN

Token autentikasi Hugging Face Anda. Diperlukan untuk membuat Spaces dan Buckets di Hugging Face. Atur ini secara lokal saat melakukan deployment ke Spaces dari mesin Anda. Harus memiliki izin write untuk namespace tempat Anda melakukan deployment dashboard Trackio.

export HF_TOKEN="hf_xxxxxxxxxxxxx"

Variabel Lingkungan Gradio

Karena Trackio dibangun di atas Gradio, Anda dapat menggunakan variabel lingkungan yang digunakan oleh Gradio untuk mengontrol perilaku Trackio. Berikut adalah beberapa contoh:

GRADIO_SERVER_PORT

Menentukan port tempat dasbor Tradio akan diluncurkan. Bawaan adalah 7860

export GRADIO_SERVER_PORT=8000

GRADIO_SERVER_NAME

Menentukan nama host untuk server dasbor Trackio. Untuk membuat dasbor dapat diakses dari alamat IP mana pun, atur ini ke "0.0.0.0"

export GRADIO_SERVER_NAME="0.0.0.0"

GRADIO_MCP_SERVER

Mengaktifkan fungsionalitas server MCP (Model Context Protocol) di Trackio. Saat diaktifkan, dasbor Trackio akan disetel sebagai server MCP dan fungsi-fungsi tertentu akan diekspos sebagai alat MCP yang dapat digunakan oleh LLM (misalnya, untuk membaca metrik yang dicatat).

export GRADIO_MCP_SERVER="True"

Lihat daftar yang lebih komprehensif ini tentang variabel lingkungan yang digunakan oleh Gradio.

Update on GitHub