SPREADSHEET.PY(1) LCOV SPREADSHEET.PY(1)

spreadsheet.py - اسکریپت تولید فایل‌های اکسل/صفحه‌گسترده از گزارش‌های پوشش کد LCOV

بخش راهنما
1
گروه راهنما
ابزارهای LCOV

تبدیل داده‌های پروفایل LCOV به صفحه‌گسترده اکسل جهت تحلیل عملکرد و مقایسه

spreadsheet.py [-o output.xlsx] [گزینه‌ها] data.json [data2.json ...]

اسکریپت کاربردی spreadsheet.py داده‌های پروفایل JSON را از genhtml، geninfo و lcov به یک صفحه‌گسترده اکسل تبدیل می‌کند تا تحلیل آن‌ها آسان‌تر شود. این اسکریپت داده‌های زمان‌بندی عملکرد را پردازش کرده و آن‌ها را در قالبی جدولی همراه با تحلیل‌های آماری و قالب‌بندی شرطی نمایش می‌دهد.

این صفحه‌گسترده شامل موارد زیر است:

  • برگه‌های خلاصه برای مقایسه چندین اجرای مختلف
  • داده‌های زمان‌بندی به تفکیک فایل برای تحلیل دقیق
  • خلاصه‌های آماری (مجموع، میانگین، انحراف معیار)
  • قالب‌بندی شرطی برای مشخص‌کردن مقادیر پرت

این صفحه‌گسترده از قالب‌بندی شرطی برای مشخص‌کردن ناهنجاری‌های زمان‌بندی استفاده می‌کند:

  • زرد: مقادیری که بین ۱٫۵ تا ۲٫۰ انحراف معیار بزرگ‌تر از میانگین هستند (و بیش از ۱۵٪ بالاتر از میانگین می‌باشند)
  • قرمز: مقادیری که بیش از ۲٫۰ انحراف معیار بزرگ‌تر از میانگین هستند (و بیش از ۱۵٪ بالاتر از میانگین می‌باشند)
  • سبز: مقادیری که بیش از ۲٫۰ انحراف معیار کوچک‌تر از میانگین هستند (عملکرد به‌مراتب بهتر)

این اسکریپت داده‌های پروفایل ابزارهای زیر را پردازش می‌کند:

  • geninfo: زمان‌بندی تکه‌ها (Chunk timing)، پردازش فایل، عملیات فیلتر
  • genhtml: تجزیه سورس‌کد، تولید HTML، حاشیه‌نویسی، دسته‌بندی
  • lcov: ادغام فایل‌های ردگیری (Tracefile)، تجزیه، پردازش قطعات

ذخیره خروجی اکسل در فایل مشخص‌شده. پیش‌فرض: stats.xlsx.
حداقل درصد تفاوت نسبت به میانگین جهت اعمال رنگ‌بندی. تفاوت‌های کوچک‌تر از این آستانه برجسته نمی‌شوند. پیش‌فرض: 15.0%.
ضریب انحراف معیار برای برجسته‌سازی با رنگ زرد. مقادیری که بین --low و --high انحراف معیار بالاتر از میانگین باشند به رنگ زرد نشان داده می‌شوند. پیش‌فرض: 1.5.
ضریب انحراف معیار برای برجسته‌سازی با رنگ قرمز. مقادیری که بیش از --high انحراف معیار بالاتر از میانگین باشند به رنگ قرمز نشان داده می‌شوند. پیش‌فرض: 2.0.
افزایش جزئیات گزارش. شامل داده‌های زمان‌بندی اضافی مانند عملیات خواندن و تبدیل کد.
گنجاندن داده‌های زمان‌بندی عملیات فیلتر در صفحه‌گسترده. داده‌های فیلتر زمان صرف‌شده در پردازش تکه‌های فیلتر، عملیات صف و ادغام را نمایش می‌دهند.
یک یا چند فایل داده پروفایل JSON برای پردازش. این فایل‌ها باید با استفاده از گزینه --profile در ابزارهای geninfo، genhtml یا lcov تولید شده باشند.

استفاده پایه با یک فایل پروفایل تکی:

$ spreadsheet.py -o report.xlsx geninfo_profile.json

مقایسه چندین اجرای مختلف پروفایل:

$ spreadsheet.py -o comparison.xlsx run1.json run2.json run3.json

گنجاندن داده‌های زمان‌بندی فیلتر همراه با خروجی پرجزئیات:

$ spreadsheet.py --show-filter -v -o detailed.xlsx profile.json

تنظیم حساسیت جهت شناسایی داده‌های پرت:

$ spreadsheet.py --threshold 10 --low 1.0 --high 1.5 -o sensitive.xlsx data.json

برای تولید داده‌های پروفایل جهت تحلیل، از گزینه --profile استفاده کنید:

$ geninfo --profile geninfo_profile.json -o coverage.info ./build
$ genhtml --profile genhtml_profile.json -o html coverage.info
$ lcov --profile lcov_profile.json -a a.info -a b.info -o merged.info

Henry Cox <<henry.cox@mediatek.com>>

genhtml(1) <file://../man/genhtml.1.html>, geninfo(1) <file://../man/geninfo.1.html>, lcov(1) <file://../man/lcov.1.html>

•
مستندات xlsxwriter: https://xlsxwriter.readthedocs.io

2024-2026, LCOV Project

2026-07-07 2.5