Kullanım
tailspin info
tailspin enable
tailspin disable
tailspin set buffer-size buffer-size-mb
ktrace-filter-descriptor (add:|remove:)filter-desc
oncore-sampling-period period-in-ns|disabled
full-system-sampling-period period-in-ns|disabled
sampling-option (add:|remove:)options
tailspin reset
[buffer-size-mb|ktrace-filter-descriptor|oncore-sampling-period|full-system-sampling-period]
tailspin save [-r reason-string] [-l num-seconds] [-n] path-to-file
tailspin augment [-s] [-d] [-a] [-l] [-L path-to-log-archive] path-to-file
tailspin stat [-v] [-s] path-to-file
Açıklama
tailspin, sistemi sürekli olarak süreçlerin çağrı yığınlarını (callstacks) örnekleyecek ve çekirdek izleme (kernel trace) arabelleğinde kdebug olaylarını seçecek şekilde yapılandırır. tailspin verileri bir dosyaya kaydedildiğinde, tailspin dosyası kaydetme işleminden yaklaşık 20 saniye öncesine kadar olan sistem durumu hakkında bilgi içerecektir. tailspind arka plan programı (daemon), tailspin özelliği için bir yardımcı arka plan programıdır ve manuel olarak çalıştırılmamalıdır.
Tailspin Verilerinin Toplanması
Etkinleştirildiğinde tailspin verileri tuş kombinasyonu kullanılarak toplanabilir: Shift-Control-Option-Command-Comma. Komut tamamlandığında, kaydedilen tailspin dosyasının bulunduğu bir Finder penceresi açılacaktır.
Alt Komutlar
tailspin, farklı işlevleri mantıksal gruplara ayırmak için bir alt komut (subcommand) sözdizimi kullanır. Her alt komut kendi seçeneklerini alır.
info tailspin'in mevcut yapılandırması hakkında bilgi yazdırır.
enable tailspin veri toplamayı etkinleştirir. Etkinleştirme, yeniden başlatmalar ve yükseltme kurulumları boyunca kalıcıdır.
disable tailspin veri toplamayı durdurur. Devre dışı bırakma, yeniden başlatmalar ve yükseltme kurulumları boyunca kalıcıdır. tailspin, devre dışı bırakıldıktan sonra aynı yapılandırma kullanılarak yeniden etkinleştirilebilir.
set tailspin'in ayarlanabilir 4 parametresini yapılandırır. Uygulanan herhangi bir değişiklik, yeniden başlatmalar ve yükseltme kurulumları boyunca kalıcı olacaktır.
buffer-size buffer-size-mb Çekirdek izleme (kernel trace) arabelleğini buffer-size-mb boyutunda olacak şekilde ayarlar.
ktrace-filter-descriptor (add:|remove:)filter-desc filter-desc filtresini tailspin yapılandırmasına uygular, böylece tailspin tarafından hangi olayların izleneceğini kontrol eder. Bir filtrenin sözdizimi için FİLTRE AÇIKLAMALARI bölümüne bakın. Mevcut bir filtreyi tamamen değiştirmek yerine değiştirmek için filtreye "add:" veya "remove:" öneki eklenebilir.
oncore-sampling-period period-in-ns Zamanlayıcı her period-in-ns sürede bir tetiklendiğinde CPU üzerinde olan iş parçacıklarını örneklemek üzere tailspin yapılandırmasında bir zamanlayıcı ayarlar. İzin verilen minimum süre 1 ms'dir. Çekirdek üstü (oncore) örnekleme zamanlayıcısını devre dışı bırakmak için "disabled" kullanılabilir.
full-system-sampling-period period-in-ns Zamanlayıcı her period-in-ns sürede bir tetiklendiğinde tüm süreçlerin tüm iş parçacıklarını örneklemek üzere tailspin yapılandırmasında bir zamanlayıcı ayarlar. İzin verilen minimum süre 10 ms'dir. Tam örnekleme zamanlayıcısını devre dışı bırakmak için "disabled" kullanılabilir.
sampling-option (add:|remove:)options options ile belirtilen örnekleme seçeneklerini tailspin yapılandırmasına uygular, böylece tailspin tarafından hangi örneklemenin etkinleştirileceğini kontrol eder. Örnekleme seçeneklerinin sözdizimi için ÖRNEKLEME SEÇENEKLERİ bölümüne bakın.
reset [buffer-size-mb|ktrace-filter-descriptor|oncore-sampling-period|full-system-sampling-period] tailspin'in tüm özel yapılandırmalarını kaldırır ve sistem varsayılanına sıfırlar veya belirli bir ayarı sistem varsayılanına sıfırlar.
save [-r reason-string] [-l num-seconds] [-n] [path-to-file]
Çekirdek izleme arabelleğinin tailspin verilerini içeren mevcut içeriğini path-to-file yoluna kaydeder.
-r reason-string tailspin dosyasına bunun neden kaydedildiğini belirten bir anahtar ekler. Bu neden tailspin stat ile görüntülenebilir.
-l num-seconds tailspin dosyasındaki verileri son num-seconds saniyelik verilerle sınırlar.
-n tailspin dosyasını sembolleştirmeden (symbolicating) kaydeder.
augment [-d] [-s] [-l] [-L -path-to-log-archive] path-to-file path-to-file yolundaki tailspin raporunu semboller, os günlükleri (os logs) ve os işaret levhaları (os signposts) gibi ek bilgilerle zenginleştirir. -d ile kullanılmazsa, tailspin dosyasının kaydedildiği cihazda ve derlemede (build) çalıştırılması gerekir.
stat [-v] [-s] path-to-file tailspin dosyasındaki veriler hakkında toplu bilgi yazdırır.
-v tailspin dosyasının yerleşim (layout) bilgisini yazdırır.
-s ktrace istatistiklerini izleme sınıfı/alt sınıfının (trace class/subclass) frekansına göre sıralar. Varsayılan sıralama sınıf/alt sınıf koduna göredir.
Filtre Açıklamaları
Bir filtre açıklaması, hangi olayların izlenmesi gerektiğini belirten virgülle ayrılmış bir sınıf (class) ve alt sınıf (subclass) belirteçleri listesidir. Bir sınıf belirteci 'C' ile başlar ve ardından ondalık veya onaltılık ("0x" önekiyle) olarak belirtilen 0 ile 255 (dahil) arasında bir sayı gelir. Bir alt sınıf belirteci 'S' ile başlar ve iki bayt alır. Yüksek bayt sınıfı, düşük bayt ise o sınıfın alt sınıfını temsil eder.
Örneğin, bu filtre açıklaması 0x1 ve 0x25 sınıflarını ve 0x5 sınıfının 0x21 ve 0x23 alt sınıflarını etkinleştirir: ‘C1,C0x25,S0x0521,S0x0523’. ‘ALL’ filtre açıklaması tüm sınıflardaki olayları etkinleştirir.
Örnekleme Seçenekleri
Örnekleme seçenekleri, hangi örneklemenin etkinleştirilmesi/devre dışı bırakılması gerektiğini gösteren, tanınan adlardan oluşan virgülle ayrılmış bir liste aracılığıyla belirtilir. Tanınan adlar şunlardır: ‘cswitch-sampling’, ‘syscall-sampling’ ve ‘vmfault-sampling’
Tailspin Verilerinin Görüntülenmesi
tailspin verileri ktrace(1), spindump(8) ve fs_usage(1) ile görüntülenebilir.
Tanılama
tailspin yardımcı programı başarı durumunda 0, bir hata oluşursa >0 değeriyle çıkar.
Ayrıca Bakınız
ktrace(1), fs_usage(1), spindump(8)
Darwin 22 June 2016 Darwin