Сбор данных по приложению
Для Инструментов, чтобы помочь Вам контролировать и улучшить свое приложение, это должно быть в состоянии собрать информацию относительно Вашего приложения, в то время как это работает. В этой главе описываются, как направить Инструменты для сбора информации относительно приложения.
Установка сбора данных со всплывающим меню Target
Целевое всплывающее меню на панели инструментов используется для установки и устройства и приложения или процесса, по которому Вы будете собирать данные. Щелкните по целевому всплывающему меню, чтобы сделать Ваш выбор.
Всплывающее меню Target предоставляет Вам следующий основной выбор для сбора данных:
Все Процессы. Собирает данные от всех процессов, в настоящее время работающих на системе.
Выберите Target. Собирает данные из определенного приложения, которое Вы указываете. Приложение автоматически запускается при нажатии Кнопки записи.
Как правило, пользователи собирают данные из одного приложения за один раз. При предназначении для отдельного приложения все инструменты в документе трассировки собирают данные от целевого приложения.
Выберите Choose Target из целевого всплывающего меню.
Найдите свое приложение и нажмите кнопку Choose.
Целевое всплывающее меню также обеспечивает быстрый доступ для выбора определенных процессов для предназначения, не открывая выбрать целевое окно. Для разработки iOS этого включая приложения Вы установили, запущенные приложения и системные процессы. Для разработки OS X это включает недавно профилируемые приложения, запущенные приложения и системные процессы.
При выборе платформы в целевом всплывающем меню Вы только видите устройства на iOS, когда они включаются в Ваш компьютер или когда Вы сконфигурировали Инструменты для сбора данных от определенного устройства с помощью беспроводных технологий.
Удостоверьтесь, что Ваше мобильное устройство подключено к Вашей системе разработки USB-кабелем.
Нажмите функциональную клавишу и щелкните по целевому всплывающему меню на панели инструментов Вашего документа трассировки.
Выберите свое мобильное устройство для включения беспроводной опции.
Откройте целевое всплывающее меню и выберите беспроводную версию Вашего устройства.
Отключите устройство от USB-кабеля.
Используя беспроводное соединение позволяет Вам перемещать свое устройство по мере необходимости для тестирования, не будучи запутанным в кабеле или случайно отключая устройство во время тестирования. Соединение с помощью беспроводных технологий особенно полезно при тестировании следующего:
Акселерометры. Переместите устройство во все направления без того, что это было ограниченным. Соединение с помощью беспроводных технологий гарантирует полное тестирование устройства.
Аксессуары. Включите свой аксессуар USB в свободный слот и протестируйте его.
Сбор данных от прикрепления
Сэкономьте время Профилировщиком времени выполнения от Инструментального значка приложения в Прикреплении для автоматической записи определенных событий в фоновом режиме, даже без Инструментального выполнения. Используя этот метод, можно выполнить следующие задачи:
Профиль Системного времени. Начинает профилировать все системные процессы.
Профиль времени Определенный Процесс. Запускает инструмент Профилировщика Времени с определенного приложения от всплывающего меню.
Автоматически Приложения Вращения Профиля Времени. Автоматически профили блокировали (вращающиеся) приложения в будущем.
Позвольте Прослеживать Любого Процесса (10 часов). Проследите любой процесс, происходящий за следующие 10 часов. Обходы, имеющие необходимость вводить в пароле в течение этих 10 часов.
Сбор Данных Используя iprofiler
iprofiler
инструмент командной строки, используемый для измерения производительности приложения, не запуская Инструменты. После сбора данных о производительности импортируйте данные к Инструментам для получения визуального представления данных. Собранные данные сохраняются в a .dtps
пакет, который может быть открыт Инструментами. iprofiler
поддерживает следующие шаблоны трассировки:
Монитор действия. Мониторы полное системное действие и статистика, включая CPU, память, диск и сеть. Монитор действия также контролирует все существующие процессы и иерархии родителя/дочернего процесса.
Выделения. Использование памяти «кучи» мер путем отслеживания выделений, включая выделения конкретного объекта классом. Выделения могут также записать статистику виртуальной памяти областью.
Счетчики. Соберите события счетчика монитора производительности, использующие время или событие, базируемое, выбрав методы.
Профилировщик события. Выбирает процессы, работающие на CPUs системы через низкие издержки, основанную на событии выборку.
Утечки. Меры общее использование памяти, проверяет на пропущенную память, и обеспечивает статистику по объектным выделениям историями класса, а также адреса памяти для всех активных выделений и пропустило блоки.
Системная Трассировка. Когда потоки планируются, и показывающий все их переходы от пользователя в системный код или через системные вызовы или через операции памяти, предоставляет исчерпывающую информацию о поведении системы путем показа.
Профилировщик времени. Выполняет низкие издержки, основанную на времени выборку процессов, работающих на CPUs системы.
Откройте Terminal.
Войдите
iprofiler
команда для сбора данных.Откройте Instruments и нажмите File> Open.
Найдите сохраненный
.dtps
файл и нажимает Open.
После импорта сохраненного файла Инструменты автоматически открывают связанные инструменты в документе трассировки и заполняют их с собранными данными. Можно просмотреть и управлять этими данными для определения местоположения любых проблем с приложением.
iprofiler
обеспечивает ограниченный набор параметров конфигурации для определения что данные собраться.
Команда | Описание |
---|---|
| Обеспечивает список всех поддерживаемых инструментов. |
| Обеспечивает список всех поддерживаемых инструментов и описание того, что делает каждый шаблон. |
| Выполняет устаревший Инструментальный интерфейс командной строки, найденный в |
| Устанавливает отрезок времени, для которого собраны данные. Если эта опция не установлена, то данные собраны в течение 10 секунд. Продолжительность может быть установлена в секунды (1 с или 1), миллисекунды (10 м или 10 мс), или микросекунды (10u или 10us). |
| Устанавливает частоту, с которой измерения проведены в течение демонстрационного времени. Если эта опция не указана, она использует Инструментальное время интервала значения по умолчанию. Интервал может быть установлен в секунды (1 с или 1), миллисекунды (10 м или 10 мс), или микросекунды (10u или 10us). |
| Ограничивает измерение производительности заключительным периодом Примечание: Эта опция может использоваться только с - |
| Указывает целевой путь и имя, используемое при сохранении собранных данных. Если путь не указан, вывод сохраняется к текущему рабочему каталогу. Если базовое имя не указано, имя процесса или процесс, ID используется. |
| Определяет инструмент, который должен быть выполнен. Допустимые опции имени - По крайней мере один шаблон должен быть перечислен. Можно дойти до всех семи шаблонов сразу. |
| Когда эта опция используется, следы только включают штабели ядра. Если ни один |
| Следы включают и ядро и пользовательские штабели. Если ни один |
| Используйте этот флаг с - счетчики для указания мнемосхемы события для подсчета. Многократная мнемоника должна быть разделена от запятой. |
| Заставляет шаблон Time Profiler профилировать все потоки. Если это не указано, то Профилировщик Времени профилирует только рабочие потоки. |
| Присоединения к уже работающему процессу. Указание строки присоединит процесс, имя которого запускается с той строки. При указании процесса ID присоединяет его к процессу, связанному с тем процессом ID. |
| Заставляет целевой процесс быть запущенным на время измерения. Перечисляет исполнимую программу и параметры, как будто они вызываются от командной строки. |
Примеры 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. В то время как в задержанном режиме, Вы блокируетесь от взаимодействия с инструментами, собирающими данные.
В задержанном режиме, после Инструментов закончил собирать данные, Инструменты обрабатывает данные и выводит на экран его на экране. Даже при том, что задержка анализа данных добавляет время к более поздним этапам процесса сбора данных, это помогает гарантировать, что связанные с производительностью данные точны.
Можно установить Инструменты для выполнения в задержанном режиме в Инструментальных предпочтениях.
Выберите Instruments> Preferences.
Во вкладке «Общие» установите флажок «Always use deferred mode».
Используя задержанные перемещения режима обработка данных к после набора данных, приводящих к задержке в конце сбора данных, поскольку Инструменты обрабатывает данные. В случае особенно длинных трассировок эта задержка может быть значительной. Для предотвращения этой задержки можно установить задержанный режим для только тех трассировок, требующих чрезвычайно точного сбора данных.