Сбор данных по приложению

Для Инструментов, чтобы помочь Вам контролировать и улучшить свое приложение, это должно быть в состоянии собрать информацию относительно Вашего приложения, в то время как это работает. В этой главе описываются, как направить Инструменты для сбора информации относительно приложения.

Установка сбора данных со всплывающим меню Target

Целевое всплывающее меню на панели инструментов используется для установки и устройства и приложения или процесса, по которому Вы будете собирать данные. Щелкните по целевому всплывающему меню, чтобы сделать Ваш выбор.

Всплывающее меню Target предоставляет Вам следующий основной выбор для сбора данных:

Как правило, пользователи собирают данные из одного приложения за один раз. При предназначении для отдельного приложения все инструменты в документе трассировки собирают данные от целевого приложения.

bullet
Предназначаться для отдельного приложения в документе трассировки
  1. Выберите Choose Target из целевого всплывающего меню.

    ../Art/instruments_trace_document_choose_target_2x.png
  2. Найдите свое приложение и нажмите кнопку Choose.

    ../Art/instruments_target_window_2x.png

Целевое всплывающее меню также обеспечивает быстрый доступ для выбора определенных процессов для предназначения, не открывая выбрать целевое окно. Для разработки iOS этого включая приложения Вы установили, запущенные приложения и системные процессы. Для разработки OS X это включает недавно профилируемые приложения, запущенные приложения и системные процессы.

При выборе платформы в целевом всплывающем меню Вы только видите устройства на iOS, когда они включаются в Ваш компьютер или когда Вы сконфигурировали Инструменты для сбора данных от определенного устройства с помощью беспроводных технологий.

bullet
Включить устройство на iOS для беспроводного профилирования
  1. Удостоверьтесь, что Ваше мобильное устройство подключено к Вашей системе разработки USB-кабелем.

  2. Нажмите функциональную клавишу и щелкните по целевому всплывающему меню на панели инструментов Вашего документа трассировки.

  3. Выберите свое мобильное устройство для включения беспроводной опции.

  4. Откройте целевое всплывающее меню и выберите беспроводную версию Вашего устройства.

  5. Отключите устройство от USB-кабеля.

Используя беспроводное соединение позволяет Вам перемещать свое устройство по мере необходимости для тестирования, не будучи запутанным в кабеле или случайно отключая устройство во время тестирования. Соединение с помощью беспроводных технологий особенно полезно при тестировании следующего:

Сбор данных от прикрепления

Сэкономьте время Профилировщиком времени выполнения от Инструментального значка приложения в Прикреплении для автоматической записи определенных событий в фоновом режиме, даже без Инструментального выполнения. Используя этот метод, можно выполнить следующие задачи:

bullet
Собирать информацию Профилировщика Времени от Прикрепления
  1. С открытыми Инструментами, Щелчок управления Инструментальный значок панелей.

  2. Выберите процесс для профилирования, чтобы начать записывать.

    ../Art/instruments_dock_menu2_2x.png

Сбор Данных Используя iprofiler

iprofiler инструмент командной строки, используемый для измерения производительности приложения, не запуская Инструменты. После сбора данных о производительности импортируйте данные к Инструментам для получения визуального представления данных. Собранные данные сохраняются в a .dtps пакет, который может быть открыт Инструментами. iprofiler поддерживает следующие шаблоны трассировки:

bullet
Собрать и просмотреть данные от iprofiler
  1. Откройте Terminal.

  2. Войдите iprofiler команда для сбора данных.

    ../Art/iprofiler_progress_2x.png
  3. Откройте Instruments и нажмите File> Open.

  4. Найдите сохраненный .dtps файл и нажимает Open.

После импорта сохраненного файла Инструменты автоматически открывают связанные инструменты в документе трассировки и заполняют их с собранными данными. Можно просмотреть и управлять этими данными для определения местоположения любых проблем с приложением.

../Art/instruments_dtps_results_2x.png

iprofiler обеспечивает ограниченный набор параметров конфигурации для определения что данные собраться.

Команда

Описание

-l

Обеспечивает список всех поддерживаемых инструментов.

-L

Обеспечивает список всех поддерживаемых инструментов и описание того, что делает каждый шаблон.

-legacy

Выполняет устаревший Инструментальный интерфейс командной строки, найденный в /usr/bin/instruments.

-T duration

Устанавливает отрезок времени, для которого собраны данные. Если эта опция не установлена, то данные собраны в течение 10 секунд. Продолжительность может быть установлена в секунды (1 с или 1), миллисекунды (10 м или 10 мс), или микросекунды (10u или 10us).

-I interval

Устанавливает частоту, с которой измерения проведены в течение демонстрационного времени. Если эта опция не указана, она использует Инструментальное время интервала значения по умолчанию. Интервал может быть установлен в секунды (1 с или 1), миллисекунды (10 м или 10 мс), или микросекунды (10u или 10us).

-window period

Ограничивает измерение производительности заключительным периодом iprofiler выполненный. Если эта опция не указана, производительность измерена в течение всего выполнения. Период может быть установлен в секунды (1 с или 1), миллисекунды (10 м или 10 мс), или микросекунды (10u или 10us).

Примечание: Эта опция может использоваться только с -timeprofiler и -systemtrace шаблонные опции.

-d path -o basename

Указывает целевой путь и имя, используемое при сохранении собранных данных. Если путь не указан, вывод сохраняется к текущему рабочему каталогу. Если базовое имя не указано, имя процесса или процесс, ID используется.

-instrument name

Определяет инструмент, который должен быть выполнен. Допустимые опции имени -activitymonitor, -allocations, -counters, -eventprofiler, -leaks, -systemtrace, и -timeprofiler.

По крайней мере один шаблон должен быть перечислен. Можно дойти до всех семи шаблонов сразу.

-kernelstacks

Когда эта опция используется, следы только включают штабели ядра.

Если ни один -kernelstacks или -userandkernelstacks опции указаны, следы включают пользовательские штабели только.

-userandkernelstacks

Следы включают и ядро и пользовательские штабели.

Если ни один -kernelstacks или -userandkernelstacks опции указаны, следы включают пользовательские штабели только.

-pmc PMC_MNEMONIC

Используйте этот флаг с - счетчики для указания мнемосхемы события для подсчета. Многократная мнемоника должна быть разделена от запятой.

-allthreadstates

Заставляет шаблон Time Profiler профилировать все потоки. Если это не указано, то Профилировщик Времени профилирует только рабочие потоки.

-a process/pid

Присоединения к уже работающему процессу. Указание строки присоединит процесс, имя которого запускается с той строки. При указании процесса ID присоединяет его к процессу, связанному с тем процессом ID.

-leaks опция требует, чтобы были указаны определенный единственный процесс или процесс ID.

executable [args…]

Заставляет целевой процесс быть запущенным на время измерения. Перечисляет исполнимую программу и параметры, как будто они вызываются от командной строки.

Примеры iprofiler

Список общих iprofiler примеры командной строки ниже.

Следующий пример собирает данные от всех рабочих процессов для текущего набора продолжительности выборки в Инструментах с помощью инструментов Монитора Профилировщика и Действия Времени. Собранные данные сохраняются к рабочему каталогу как allprocs.dtps.

iprofiler -timeprofiler -activitymonitor

Следующий пример открывает и собирает данные от YourApp с помощью инструмента Профилировщика Времени. Данные собраны в течение восьми секунд, и данные сохраняются в /temp/YourApp_perf.dtps.

iprofiler -T 8s -d /temp -o YourApp_perf -timeprofiler -a YourApp

Следующий пример собирает данные от процесса с 823 процессами ID с помощью утечек и инструментов монитора действия. Данные собраны для 2 500 миллисекунд (2,5 секунды) и сохраняют его к рабочему каталогу как YourApp_perf.dtps.

iprofiler -T 2500ms -o YourApp_perf -leaks -activitymonitor -a 823

Следующий пример открывает и собирает данные от YourApp с помощью Профилировщика Времени и инструментов Выделений. Данные собраны для набора количества времени по умолчанию в Инструментах и сохранены в /tmp/allprocs.dtps.

iprofiler -d /tmp -timeprofiler -allocations -a YourApp.app

Следующий пример открывает и собирает данные от YourApp, найденного в /path/to с параметром arg1 использование инструментов Трассировки Профилировщика и Системы Времени. Данные собраны в течение пятнадцати секунд, но только сохраняются данные, собранные за прошлые 2 секунды. Данные сохраняются к рабочему каталогу как YourApp_perf.dtps.

iprofiler -T 15 -I 1000ms -window 2s -o YourApp_perf -timeprofiler -systemtrace /path/to/Your.app arg1

Минимизация инструментального влияния на сбор данных

Инструменты разработаны для минимизации его собственного влияния на сбор данных. Путем изменения некоторых основных настроек можно далее уменьшиться, Инструменты влияния имеет на сборе данных.

Можно уменьшить демонстрационный интервал для многих инструментов для сбора большего количества данных. Однако высокие частоты дискретизации, следующие из интервала краткого образца, могут вызвать несколько проблем:

Можно изменить демонстрационный интервал для инструмента путем открытия Рекордного инспектора Настроек для того инструмента.

Рабочие инструменты в задержанном режиме

Увеличьте точность связанных с производительностью данных путем задержки анализа данных, пока Вы не выходите из приложения, которое Вы тестируете. Как правило, Инструменты анализируют и выводят на экран данные, в то время как Ваше выполнение приложения, позволяя Вам просмотреть данные, поскольку это собрано. Выполнение живого анализа замедляет целевой процесс путем приведения в рабочее состояние процессорного времени и памяти, оставляющей Вас с измерениями, которые могут не отразить, как процесс обычно вел бы себя. Рабочие Инструменты в задержанном режиме задерживают анализ данных, пока сбор данных не сделан, или после того, как Ваше приложение закончило работать или после щелчка по Stop. В то время как в задержанном режиме, Вы блокируетесь от взаимодействия с инструментами, собирающими данные.

В задержанном режиме, после Инструментов закончил собирать данные, Инструменты обрабатывает данные и выводит на экран его на экране. Даже при том, что задержка анализа данных добавляет время к более поздним этапам процесса сбора данных, это помогает гарантировать, что связанные с производительностью данные точны.

Можно установить Инструменты для выполнения в задержанном режиме в Инструментальных предпочтениях.

bullet
Установить задержанный режим для Инструментов
  1. Выберите Instruments> Preferences.

  2. Во вкладке «Общие» установите флажок «Always use deferred mode».

    ../Art/instruments_preferences_general_deferred_mode_on_2x.png

Используя задержанные перемещения режима обработка данных к после набора данных, приводящих к задержке в конце сбора данных, поскольку Инструменты обрабатывает данные. В случае особенно длинных трассировок эта задержка может быть значительной. Для предотвращения этой задержки можно установить задержанный режим для только тех трассировок, требующих чрезвычайно точного сбора данных.

bullet
Установить задержанный режим для трассировки
  1. Выберите File> Record Options.

  2. Установите флажок Deferred Mode, затем нажмите «OK».

    ../Art/Deferring_Data_Analysis_for_Single_2x.png