2008-11-28 22 views
5

Soy nuevo en Shark, y me preguntaba si es posible reducir una muestra de tiempo a un método específico.Shark: cómo filtrar a un método específico

Digamos que me gustaría, por el simple hecho de saberlo, saber cuántos recursos se han utilizado en las llamadas al método 'recuento' para todas las instancias de NSArray (o subclases).

Respuesta

2

Si ve el gráfico de perfil de tiempo de abajo hacia arriba y carga en cualquier momento la cuenta que pasa en las bibliotecas a las personas que llaman, eso debería darle lo que desea. Le permite ver cuánto tiempo se gasta debido a la cuenta (es decir, tanto al ejecutar ese método como a cualquier otra cosa que el método necesite para hacer su trabajo) y también le permite saber dónde está llamando al método. Es posible que la razón por la que pasas tanto tiempo en la cuenta no sea porque lleve mucho tiempo, sino porque lo haces con demasiada frecuencia.

+0

Hola Graham, estoy perdido, ¿podrías ser más específico? ¿Te refieres a una tabla de perfil de tiempo? ¿Y a qué te refieres con cobrar? –

+0

Graham, ¿podría ser más específico acerca de cómo hacerlo en la interfaz? –

1

El tiempo que se pasa al menos en el nivel de función es exactamente lo que Instruments le está dando. Con DTrace puedes incluso cavar más profundo que eso. Tal vez pagar my blog post acerca de esto. Eso debería aclarar las cosas.

Puede escribir fácilmente un script de DTrace para imprimir el consumo de memoria de la cuenta , por ejemplo.

aplausos, Torsten

1

Usted puede golpear cmd-f para buscar un símbolo. Asegúrate de que la casilla de verificación "expandir automáticamente" esté activada para que baje al árbol. Es posible que deba activar Ventana -> Mostrar configuración avanzada.

Una vez que encuentre el símbolo, haga clic derecho sobre él y usted tiene algunas opciones:

  • Enfoque Símbolo: esto le permitirá filtrar reducido a sólo las llamadas al símbolo que seleccionó y por debajo

  • Permanencia callstacks con: esto le permitirá ver todas las llamadas al símbolo y filtrar todo lo demás

Cuando haya terminado puede hacer clic derecho y "desenfocar todo" o "restaurar todo". Estos comandos terminan modificando la sección "extracción de datos de la pila de llamadas" en la configuración avanzada. Engaña con eso.

Cuestiones relacionadas