> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> جدول نظامي يحتوي على معلومات التنميط على مستوى المعالجات (يمكن العثور عليها في `EXPLAIN PIPELINE`)

# system.processors_profile_log

<Info>
  **الاستعلام في ClickHouse Cloud**

  تُخزَّن بيانات جدول النظام هذا محليًا على كل عقدة في ClickHouse Cloud. لذلك، يتطلب الحصول على رؤية كاملة لجميع البيانات استخدام الدالة `clusterAllReplicas`. راجع [هنا](/ar/reference/system-tables/overview#system-tables-in-clickhouse-cloud) لمزيد من التفاصيل.
</Info>

<div id="description">
  ## الوصف
</div>

يحتوي هذا الجدول على بيانات تنميط على مستوى المعالجات (والتي يمكنك العثور عليها في [`EXPLAIN PIPELINE`](/ar/reference/statements/explain#explain-pipeline)).

<div id="columns">
  ## الأعمدة
</div>

* `hostname` ([LowCardinality(String)](/ar/reference/data-types/lowcardinality)) — اسم مضيف الخادم الذي ينفّذ الاستعلام.
* `event_date` ([Date](/ar/reference/data-types/date)) — التاريخ الذي وقع فيه الحدث.
* `event_time` ([DateTime](/ar/reference/data-types/datetime)) — التاريخ والوقت اللذان وقع فيهما الحدث.
* `event_time_microseconds` ([DateTime64(6)](/ar/reference/data-types/datetime64)) — التاريخ والوقت بدقة الميكروثانية اللذان وقع فيهما الحدث.
* `id` ([UInt64](/ar/reference/data-types/int-uint)) — معرّف المعالج.
* `parent_ids` ([Array(UInt64)](/ar/reference/data-types/array)) — معرّفات المعالجات الأصلية.
* `plan_step` ([UInt64](/ar/reference/data-types/int-uint)) — معرّف خطوة خطة الاستعلام التي أنشأت هذا المعالج. تكون القيمة صفراً إذا لم يُضَف المعالج من أي خطوة.
* `plan_step_name` ([String](/ar/reference/data-types/string)) — اسم خطوة خطة الاستعلام التي أنشأت هذا المعالج. تكون القيمة فارغة إذا لم يُضَف المعالج من أي خطوة.
* `plan_step_description` ([String](/ar/reference/data-types/string)) — وصف خطوة خطة الاستعلام التي أنشأت هذا المعالج. تكون القيمة فارغة إذا لم يُضَف المعالج من أي خطوة.
* `plan_group` ([UInt64](/ar/reference/data-types/int-uint)) — مجموعة المعالج إذا أُنشئ بواسطة خطوة من خطة الاستعلام. والمجموعة هي تقسيم منطقي للمعالجات المضافة من خطوة خطة الاستعلام نفسها. ولا تُستخدم المجموعة إلا لتحسين عرض نتيجة EXPLAIN PIPELINE.
* `initial_query_id` ([String](/ar/reference/data-types/string)) — معرّف الاستعلام الأوّلي (لتنفيذ الاستعلام الموزّع).
* `query_id` ([String](/ar/reference/data-types/string)) — معرّف الاستعلام.
* `name` ([LowCardinality(String)](/ar/reference/data-types/lowcardinality)) — اسم المعالج.
* `elapsed_us` ([UInt64](/ar/reference/data-types/int-uint)) — عدد الميكروثواني التي استغرقها تنفيذ هذا المعالج.
* `input_wait_elapsed_us` ([UInt64](/ar/reference/data-types/int-uint)) — عدد الميكروثواني التي انتظر فيها هذا المعالج البيانات (من معالج آخر).
* `output_wait_elapsed_us` ([UInt64](/ar/reference/data-types/int-uint)) — عدد الميكروثواني التي انتظر فيها هذا المعالج لأن منفذ الإخراج كان ممتلئاً.
* `input_rows` ([UInt64](/ar/reference/data-types/int-uint)) — عدد الصفوف التي استهلكها المعالج.
* `input_bytes` ([UInt64](/ar/reference/data-types/int-uint)) — عدد البايتات التي استهلكها المعالج.
* `output_rows` ([UInt64](/ar/reference/data-types/int-uint)) — عدد الصفوف التي أنتجها المعالج.
* `output_bytes` ([UInt64](/ar/reference/data-types/int-uint)) — عدد البايتات التي أنتجها المعالج.
* `processor_uniq_id` ([String](/ar/reference/data-types/string)) — المعرّف الفريد للمعالج ضمن PIPELINE.
* `step_uniq_id` ([String](/ar/reference/data-types/string)) — المعرّف الفريد للخطوة في الخطة.

<div id="example">
  ## مثال
</div>

```sql title="Query" theme={null}
EXPLAIN PIPELINE
SELECT sleep(1)
┌─explain─────────────────────────┐
│ (Expression)                    │
│ ExpressionTransform             │
│   (SettingQuotaAndLimits)       │
│     (ReadFromStorage)           │
│     SourceFromSingleChunk 0 → 1 │
└─────────────────────────────────┘

SELECT sleep(1)
SETTINGS log_processors_profiles = 1
Query id: feb5ed16-1c24-4227-aa54-78c02b3b27d4
┌─sleep(1)─┐
│        0 │
└──────────┘
1 rows in set. Elapsed: 1.018 sec.

SELECT
    name,
    elapsed_us,
    input_wait_elapsed_us,
    output_wait_elapsed_us
FROM system.processors_profile_log
WHERE query_id = 'feb5ed16-1c24-4227-aa54-78c02b3b27d4'
ORDER BY name ASC
```

```text title="Response" theme={null}
┌─name────────────────────┬─elapsed_us─┬─input_wait_elapsed_us─┬─output_wait_elapsed_us─┐
│ ExpressionTransform     │    1000497 │                  2823 │                    197 │
│ LazyOutputFormat        │         36 │               1002188 │                      0 │
│ LimitsCheckingTransform │         10 │               1002994 │                    106 │
│ NullSource              │          5 │               1002074 │                      0 │
│ NullSource              │          1 │               1002084 │                      0 │
│ SourceFromSingleChunk   │         45 │                  4736 │                1000819 │
└─────────────────────────┴────────────┴───────────────────────┴────────────────────────┘
```

هنا يمكنك ملاحظة ما يلي:

* كان `ExpressionTransform` ينفّذ الدالة `sleep(1)`، لذا فإن `work` سيستغرق 1e6، وبالتالي `elapsed_us` > 1e6.
* يحتاج `SourceFromSingleChunk` إلى الانتظار، لأن `ExpressionTransform` لا يقبل أي بيانات أثناء تنفيذ `sleep(1)`، لذا سيبقى في الحالة `PortFull` لمدة 1e6 us، وبالتالي `output_wait_elapsed_us` > 1e6.
* تحتاج `LimitsCheckingTransform`/`NullSource`/`LazyOutputFormat` إلى الانتظار إلى أن ينفّذ `ExpressionTransform` الدالة `sleep(1)` لمعالجة النتيجة، لذا فإن `input_wait_elapsed_us` > 1e6.

<div id="see-also">
  ## راجع أيضًا
</div>

* [`EXPLAIN PIPELINE`](/ar/reference/statements/explain#explain-pipeline)
