التابع GC::Profiler.raw_data في روبي

من موسوعة حسوب

يعيد التابع raw_data مصفوفة من الأنواع Hash تحوي بيانات ملفات التعريف الأولية الفردية مُرتَّبة من الأقدم إلى الأحدث بواسطة ‎:GC_INVOKE_TIME.

إليك مثلًا الشيفرة التالية:

[
  {
     :GC_TIME=>1.3000000000000858e-05,
     :GC_INVOKE_TIME=>0.010634999999999999,
     :HEAP_USE_SIZE=>289640,
     :HEAP_TOTAL_SIZE=>588960,
     :HEAP_TOTAL_OBJECTS=>14724,
     :GC_IS_MARKED=>false
  },
  # ...
]

وتعني المفاتيح الموجودة في الشيفرة ما يلي:

  • ‎:GC_TIME: الوقت Time المنقضي بالثواني لتشغيل GC هذا.
  • :GC_INVOKE_TIME: الوقت Time المنقضي بالثواني من بدء التشغيل وحتى استدعاء GC.
  • ‎:HEAP_USE_SIZE: إجمالي ‫ذاكرة‬ ‫الكومة (heap) المستخدمة بوحدة البايت.
  • :HEAP_TOTAL_SIZE: إجمالي ‫ذاكرة‬ ‫الكومة بوحدة البايت.
  • :HEAP_TOTAL_OBJECTS: إجمالي عدد الكائنات.
  • ‎:GC_IS_MARKED: إعادة true إذا كان GC في مرحلة التحديد.

إذا بُنيَت روبي مع GC_PROFILE_MORE_DETAIL، سيكون من الممكن أيضًا الوصول إلى مفاتيح النوع Hash التالية:

:GC_MARK_TIME
:GC_SWEEP_TIME
:ALLOCATE_INCREASE
:ALLOCATE_LIMIT
:HEAP_USE_PAGES
:HEAP_LIVE_OBJECTS
:HEAP_FREE_OBJECTS
:HAVE_FINALIZE

البنية العامة

GC::Profiler.raw_data  [Hash, ...]

القيمة المعادة

تعاد مصفوفة من الأنواع Hash تحوي بيانات ملفات التعريف الأولية الفردية مُرتَّبة من الأقدم إلى الأحدث بواسطة ‎:GC_INVOKE_TIME.

انظر أيضا

  • التابع report: يكتب الناتج ‎::result على المجرى ‎$stdout أو كائن من النوع IO.
  • التابع total_time: يعيد إجمالي الوقت المستخدم لتجميع البيانات المهملة بالثواني.

مصادر