All Products
Search
Document Center

:Konfigurasikan logging

Last Updated:Mar 18, 2026

Konfigurasi log debug

Setelah layanan dipublikasikan, Anda dapat mengumpulkan berbagai informasi untuk menganalisis kinerjanya secara online. Meskipun pencetakan log untuk debugging offline memungkinkan, metode ini kurang fleksibel untuk layanan online.

Konfigurasi ini mengumpulkan informasi debug online. Anda dapat mengaktifkannya untuk mencetak informasi ke console, mengirimkannya ke DataHub guna analisis mendetail—misalnya, menganalisis efek setiap recall—atau menuliskannya ke file lokal untuk keperluan lain. Saat ini, konfigurasi ini mengumpulkan data item setelah tahap recall, filtering, dan coarse-ranking.

Konfigurasi debug ini sesuai dengan DebugConfs dalam ikhtisar konfigurasi. DebugConfs merupakan struktur Map[string]object di mana kunci merepresentasikan skenario, sehingga memungkinkan Anda membuat konfigurasi terisolasi untuk skenario yang berbeda.

{
    "DebugConfs": {
        "${scene_name}": {
            "OutputType": "datahub",
            "Rate": 0,
            "DebugUsers": [
                "1001"
            ],
            "DatahubName": "dh_debug_log",
            "KafkaName": "pairec_debug_log",
            "FilePath": "/Users/username/pairec/debug_log/",
            "MaxFileNum": 20
        }
    }
}

Field

Type

Required

Description

OutputType

string

Yes

Metode output untuk log debug. Nilai yang valid:

  • console: Mengeluarkan ke console.

  • datahub: Mengeluarkan ke topik di DataHub.

  • kafka: Mengeluarkan ke topik di Kafka.

  • file: Mengeluarkan ke file lokal.

Rate

int

Yes

Rasio sampling log. Nilainya berkisar antara 0 hingga 100. Sesuaikan nilai ini berdasarkan queries per second (QPS) layanan online Anda.

Note: Jika nilainya 0, tidak ada informasi debug yang dikeluarkan.

DebugUsers

[]string

No

Hanya mencatat log untuk UID tertentu. Misalnya, `"DebugUsers": [ "1001"]` berarti log hanya dicatat untuk pengguna 1001.

DatahubName

string

No

Diperlukan ketika `OutputType` diatur ke `datahub`.

Nama ini merupakan nama kustom dari `DatahubConfs` dalam konfigurasi sumber data.

KafkaName

string

No

Diperlukan ketika `OutputType` diatur ke `kafka`.

Nama ini merupakan nama instans dari `KafkaConfs` dalam konfigurasi sumber data.

FilePath

string

No

Diperlukan ketika `OutputType` diatur ke `file`.

Log debug dikeluarkan ke path ini. Path akan dibuat secara otomatis jika belum ada.

MaxFileNum

int

No

Bersifat opsional ketika `OutputType` diatur ke `file`.

Mengatur jumlah maksimum file log yang dapat disimpan di direktori `FilePath`. Nilai default-nya adalah 20. Setiap file log dibatasi hingga 1 G. Jika ukuran file melebihi batas ini, terjadi rotasi file.

Jika jumlah file melebihi `MaxFileNum`, file log tertua akan dihapus.

Informasi output mencakup bidang-bidang berikut:

  • request_id: ID unik untuk setiap permintaan rekomendasi.

  • module: Modul yang menghasilkan log. Modul saat ini meliputi recall, filter, dan general_rank.

  • scene_id: ID skenario.

  • exp_id: ID eksperimen.

  • request_time: Stempel waktu UNIX permintaan dalam satuan detik.

  • uid: ID pengguna.

  • retrieveid: ID recall.

  • items: Daftar item. Formatnya adalah "item1:score1:{'dbmtl_prob_click':'0.03'},item2:score2:{'dbmtl_prob_click':'0.04'}". Jika module bernilai recall atau filter, score adalah skor recall.

    Jika module bernilai general_rank, rank, atau sort, formatnya adalah "item1:score1:{'dbmtl_prob_click':'0.03'},item2:score2:{'dbmtl_prob_click':'0.03'}". Dalam kasus ini, score adalah skor dari layanan model selama tahap general rank atau rank. dbmtl_prob_click adalah salah satu skor target model. Jika layanan model memiliki beberapa target, kurung kurawal berisi semua skor target tersebut. Nama aktual target bergantung pada layanan model, dan dbmtl_prob_click hanyalah contoh.

Saat ini, dalam satu modul, item dikeluarkan secara terpisah untuk setiap retrieveid. Misalnya, jika terdapat lima sumber recall, lima catatan dihasilkan ketika module bernilai recall, dengan setiap catatan sesuai dengan satu sumber recall. Modul filter dan general_rank mengikuti logika pencatatan yang sama.

Konfigurasi DataHub

Untuk konfigurasi DataHub, Anda tidak perlu membuat topik secara manual. Mesin akan membuatnya secara otomatis jika Anda menentukan topik dan skema.

{
    "DatahubConfs": {
        "dh_debug_log": {
            "Endpoint": "http://dh-cn-beijing-int-vpc.aliyuncs.com",
            "ProjectName": "project_test",
            "TopicName": "pairec_debug_log",
            "Schemas": [
                {
                    "Field": "request_id",
                    "Type": "string"
                },
                {
                    "Field": "module",
                    "Type": "string"
                },
                {
                    "Field": "scene_id",
                    "Type": "string"
                },
                {
                    "Field": "request_time",
                    "Type": "integer"
                },
                {
                    "Field": "exp_id",
                    "Type": "string"
                },
                {
                    "Field": "items",
                    "Type": "string"
                },
                {
                    "Field": "retrieveid",
                    "Type": "string"
                },
                {
                    "Field": "uid",
                    "Type": "string"
                }
            ]
        }
    }
}

Saat layanan berjalan, mesin secara otomatis membuat topik pairec_debug_log dan menerapkan skema yang ditentukan. Setelah Anda melihat output log di Konsol DataHub, Anda dapat membuat hubungan langganan antara MaxCompute dan DataHub untuk menyimpan data DataHub ke tabel MaxCompute.

Field name

Type

Required

Description

Endpoint

string

Yes

Endpoint adalah nama domain dari Daftar Nama Domain DataHub. Jika proyek DataHub dan PAI-Rec berada di Wilayah yang sama, gunakan alamat VPC. Jika tidak, gunakan alamat publik.

ProjectName

string

Yes

Nama proyek DataHub.

TopicName

string

Yes

Nama topik DataHub.

Schemas

[]map

Yes

Detail skema DataHub.

Konfigurasi Kafka

Untuk konfigurasi Kafka, tentukan nama instans (yang sesuai dengan KafkaName dalam DebugConfs), endpoint ingest BootstrapServers, dan nama topik yang telah ada sebelumnya.

{
    "KafkaConfs": {
        "pairec_debug_log": {
            "BootstrapServers": "alikafka-post-cn-xxxxx-1.alikafka.aliyuncs.com:9093,alikafka-post-cn-xxxxx-2.alikafka.aliyuncs.com:9093,alikafka-post-cn-xxxxx-3.alikafka.aliyuncs.com:9093",
            "Topic": "debug_log"
        }
    }
}
Penting

Jika Anda menggunakan Konsol PAI-Rec untuk konfigurasi, saat layanan dideploy ke EAS, virtual private cloud (VPC) dan vSwitch dalam konfigurasi jaringan harus sama dengan instans Kafka yang digunakan.

Konfigurasi log fitur

Konfigurasi ini digunakan untuk mengumpulkan fitur sisi pengguna dan sisi item secara online, yang kemudian dikirim ke DataHub untuk analisis mendetail.

Konfigurasi log fitur didefinisikan dalam FeatureLogConfs dalam ikhtisar konfigurasi. FeatureLogConfs merupakan struktur Map[string]object dengan kunci yang merepresentasikan skenario, sehingga memungkinkan isolasi konfigurasi untuk setiap skenario.

{
    "FeatureLogConfs": {
        "${scene_name}": {
            "OutputType": "datahub",
            "Rate": 10,
            "DatahubName": "",
            "UserFeatures": "",
            "ItemFeatures": ""
        }
    }
}

Field

Type

Required

Description

OutputType

string

Yes

Metode output untuk log debug. Saat ini, hanya `DataHub` yang didukung.

DatahubName

string

Yes

Diperlukan ketika `OutputType` diatur ke `datahub`.

Nama ini merupakan nama kustom dari `DatahubConfs` dalam konfigurasi sumber data.

Rate

int

No

Rasio sampling data. Nilainya berkisar antara 0 hingga 100. Sesuaikan nilai ini berdasarkan QPS layanan online Anda.

Penting

Untuk memastikan kompatibilitas dengan versi lama, jika Anda tidak menentukan parameter ini atau mengatur `Rate` ke 0, semua data akan disampling, yang setara dengan mengatur `Rate` ke 100.

UserFeatures

string

No

Satu pengguna dapat memiliki banyak fitur. Di sini, Anda dapat memilih subset fitur sisi pengguna. Pisahkan beberapa fitur dengan koma. Gunakan tanda bintang (`*`) untuk mencatat semua fitur sisi pengguna. Jika parameter ini kosong atau tidak diberikan, tidak ada fitur sisi pengguna yang dicatat.

ItemFeatures

string

No

Seperti di atas, Anda dapat memilih subset fitur sisi item. Gunakan tanda bintang (`*`) untuk mencatat semua fitur sisi item di mesin. Jika parameter ini kosong, ID recall dan fitur skoring model akan dicatat.

SplitUserItemLogs

bool

No

Menentukan apakah log fitur pengguna dan item dipisahkan. Secara default, setiap catatan log untuk satu permintaan berisi seluruh fitur pengguna ditambah fitur untuk satu item. Hal ini menyebabkan redundansi data fitur pengguna. Jika Anda mengaktifkan parameter ini, satu catatan log hanya berisi fitur pengguna, dan catatan berikutnya untuk permintaan yang sama hanya berisi fitur item. Ini menghilangkan redundansi data.

Konfigurasi DataHub

Anda tidak perlu membuat topik secara manual dalam konfigurasi DataHub. Mesin akan membuat topik secara otomatis jika Anda menentukan topik dan skema.

{
    "DatahubConfs": {
        "dh_feature_log": {
            "Endpoint": "http://dh-cn-beijing-int-vpc.aliyuncs.com",
            "ProjectName": "",
            "TopicName": "pairec_feature_log",
            "Schemas": [
                {
                    "Field": "request_id",
                    "Type": "string"
                },
                {
                    "Field": "scene_id",
                    "Type": "string"
                },
                {
                    "Field": "exp_id",
                    "Type": "string"
                },
                {
                    "Field": "request_time",
                    "Type": "integer"
                },
                {
                    "Field": "user_id",
                    "Type": "string"
                },
                {
                    "Field": "user_features",
                    "Type": "string"
                },
                {
                    "Field": "item_id",
                    "Type": "string"
                },
                {
                    "Field": "position",
                    "Type": "string"
                },
                {
                    "Field": "item_features",
                    "Type": "string"
                }
            ]
        }
    }
}

Saat layanan berjalan, mesin secara otomatis membuat topik pairec_feature_log dan menerapkan skema yang ditentukan.

Field Name

Type

Required

Description

Endpoint

string

Yes

Endpoint DataHub dari daftar nama domain DataHub. Jika proyek DataHub dan PAI-Rec berada di Wilayah yang sama, biasanya digunakan alamat VPC. Jika tidak, biasanya digunakan alamat jaringan publik.

ProjectName

string

Yes

Nama proyek DataHub.

TopicName

string

Yes

Nama topik DataHub.

Schemas

[]map

Yes

Detail skema DataHub.