İCloud senkronizasyon ilerlemesi gözlemlenebilir mi?


14

Benim Mac ben onun iCloud depo içeriğini görebilmeniz için kurmak OS X 10.8 çalıştıran var ~/Library/Mobile Documents(bkz bu soruyu ve bu soruya nasıl işler hakkında daha fazla bilgi için). Ancak, Mac'imin senkronizasyon durumunu görmek / görselleştirmek / anlamak istiyorum:

  • Mac'im iCloud ile senkronize mi?
  • Değilse, ne yükleniyor / indiriliyor / ne kadar sürecek?
  • OS X'in bunlardan herhangi birini görmeme izin verecek herhangi bir yardımcı program veya yerleşik özellik var mı?

Bunlar, iCloud'un dosya sisteminde açıkça gösterilmeden bile geçerli sorulardır, ancak iCloud deposunun içine / dışına toplu olarak çok sayıda dosya kopyalarsanız açıkça daha yararlıdır.

Yanıtlar:


2

Aktivite

Aşağıdaki komut, Mobil Belgeleri destekleyen uygulamalarla (Smultron 4 ve TextEdit gibi) iCloud ile çalışırken çalıştırın -

sudo opensnoop -n ubd

- her yerde arka plan programı tarafından açılan yerel dosyaları gösterir. Dosyalar, her akran için bir veritabanı olan veritabanlarını içerir. Aşağıdaki yolda eş başına bir dizin:

~/Library/Application Support/Ubiquity

Veri türleri

İlerlemeyi ölçmek istiyorsanız, hangi türlerin ölçüleceğine karar verin:

  • Temel veri
  • evraklar
  • anahtar değeri.

Tasarruf, ilerleme ve ölçüm

Temel veri

… Değişiklik günlük dosyaları, depo dosyası değil, iCloud'a yüklenir ve kullanıcının diğer cihazlarının her birine indirilir. Bir değişiklik günlüğü aynı iCloud hesabına bağlı başka bir aygıttan geldiğinde, Çekirdek Veriler, uygulamanızın SQLite veritabanının yerel kopyasını alınan değişiklik günlüğüne göre güncelleştirir. iCloud ve Core Data, her yerel veritabanının aynı değişiklik kümesiyle güncellenmesini sağlar. ...

Şunu düşünün: Değişiklik günlüğünün içeriğini yorumlamadan , günlük dosyasının yüklenme ilerlemesini ölçmek faydalı olur mu?

evraklar

Mac Geliştirici Kitaplığında:

… Belge tabanlı uygulamalar otomatik kaydetmeyi benimseyebilir ve belgeleri uygun zamanlarda otomatik olarak kaydedilir…

Ayrıca:

Otomatik Veri Tasarrufu Stratejileri Kullanıcıyı Rahatlatır

… Kodunuzda kullanıcı ile ilgili değişikliklerin kaydedileceği uygun noktalar bulunmalı ve bu değişiklikler otomatik olarak diske yazılmalıdır. ...

Kullanıcı verilerini otomatik olarak kaydedebileceğiniz bazı uygun zamanlar aşağıdakileri içerir:

  • Kullanıcı uygulama penceresini kapattığında veya uygulamadan çıktığında (applicationWillTerminate :)
  • Uygulama devre dışı bırakıldığında (applicationWillResignActive :)
  • Kullanıcı uygulamanızı gizlediğinde (applicationWillHide :)
  • Kullanıcı uygulamanızdaki verilerde geçerli bir değişiklik yaptığında

Son öğe, kullanıcının verilerini herhangi bir zamanda kaydetme özgürlüğüne sahip olduğunuz anlamına gelir. Örneğin, kullanıcı bir veri kaydının alanlarını düzenliyorsa, her alan değerini değiştirildikçe kaydedebilir veya kullanıcı yeni bir kayıt görüntülediğinde tüm alanları bekleyebilir ve kaydedebilirsiniz. Bu tür artımlı değişikliklerin yapılması verilerin daima güncel olmasını sağlar, ancak veri modelinizin daha hassas bir şekilde yönetilmesini de gerektirir. ...

Şunu düşünün: Bu tasarruflar o kadar sık ​​olabilir ve miktarlar o kadar küçük olabilir ki, ölçüm yapmaya değmez.

madde-info.db

Yerel Mac'im gibi görünen eş için veritabanına göz atmak için SQLite Veritabanı Tarayıcısı ile oynadım item-info.db. Şüphelendiğim gibi, uygulama yalnızca sistem veritabanını kullanmadığı Untitled.pngsırada göz atabiliyordu - bir iCloud'da düzenleme yapmak için Önizleme'yi kullandıktan sonra iki saniye içinde artık veritabanına göz atamadım ... vb.

Referanslar

iCloud Tasarım Kılavuzu

Mac Uygulama Programlama Kılavuzu : Temel Uygulama Tasarımı:


Bu çok iyi, teşekkürler. Verdiğiniz komut özellikle kullanıcı dostu çıktı üretmiyor (ve insync / senkronizasyon dışı durumunu, yükleme / indirme durumunu vb. Gerçekten ele almıyor), ancak şu ana kadar her şeyden daha yakın.
Andrew Ferrier

Teşekkürler - teoride iosnoopDTrace ile ilgili her şey değil de DTrace tabanlı komutlarla daha fazlasını yapabiliriz, ancak OS X üzerinde DTrace ile ilgili her şey mükemmel çalışır. Ben de bu cevapta yer almayan şeyleri merak ediyorum.
Graham Perrin

5

İCloud senkronizasyon bilgilerini açıkça göstermek için özel olarak tasarlanmış yerleşik bir OS X aracı yoktur.

OS X 10.8.2'den itibaren Apple bu bilgileri herkese açık hale getirmedi. Apple, aradığınız bilgileri sağlamak için OS X Uygulama Programlayıcı Arabirimleri (API) yayınlamadığı sürece, hiçbir üçüncü taraf eşitleme ayrıntılarını doğru bir şekilde sağlayamaz.

Bu göz önüne alındığında, lütfen Apple'ın iCloud ekibine geri bildirimde bulunun ; Apple mühendislerine ne istediğinizi ve nedenini bildirin.

Beklerken Apple'ın iCloud sunucularıyla olan bağlantıları izleyebilir, trafik akışını ve disk erişimini ölçebilirsiniz. Bu metrikler bir miktar fikir verecektir, ancak beklenen süreleri veya tam önlemlerin yüzdesini sağlamayacaktır.

Veri akışını keşfetmek için OS X'in lsof ve netstat gibi yerleşik araçlarını keşfedin .


1
Cevap için teşekkürler. Bu durumun böyle olabileceğini tahmin etmiştim ama başka birinin zaten trafik akışını tersine değiştirmiş, bir araç inşa etmiş, vb.
Umuyordum

1

GERÇEKTEN Neler olup bittiğini görmek istiyorsanız, paket yakalama yapan tcpdump (/ usr / sbin / tcpdump) kullanabilirsiniz. Ağ üzerinden geçerken paketleri gösterir. En kolay değil, ancak bu verileri görmenin en kapsamlı yolu.


Hangi portlara bakılması gerektiği hakkında bir fikriniz var mı? Tahminim en az 80, 443 ve 5223'tür, E-postayı eklemek için 25, 587 ve 993'ü ekleyin
Marnix A. van Ammers

1

OS X 10.11'den (10.10 değilse), iCloud'daki dosyaları değiştirirken iCloud Drive'ınızın alt klasörü açıksa ve bu pencerenin durum çubuğu açıksa, Finder size kaç dosya olduğunu bildirir senkronize ediliyor ve şu ana kadar ne kadar veri aktarılmış.


OSX 10.13.6 sürümünde bu bilgileri durum çubuğunda görmüyorum. Kenar çubuğundaki bulucunun iCloud simgesinin yanında küçük bir daire görüyorum. Aktarılan veriler hakkında bilgi almak için buna tıklayabilirim.
Marnix A. van Ammers

Ekran görüntüsüne bakın - pencerenin altında çalışan durum çubuğu (to- / göstermek için), iCloud Drive klasörünüzün hiyerarşisine giren herhangi bir Finder penceresinde olduğunuz sürece iCloud ile senkronizasyonun ilerlemesini görüntülemelidir. .
user1134918

Görüntülerin yorumlara gömülmediği görülüyor
user1134918

0

Terminal'de aşağıdakileri yapmak benim için hile yapıyor gibi görünüyor:

lsof | grep "Photos Library.photoslibrary/private/com.apple.cloudphotosd/CloudSync.noindex/Engine/filecache"

Lsof komutu bunun sonucunu verir:

cloudd    11237 carl   10r     REG                1,4   3009775 1460206 /Users/carl/Pictures/Photos Library.photoslibrary/private/com.apple.cloudphotosd/CloudSync.noindex/Engine/filecache/AYX/cplAYX8CMwjKIhIUqNRCwXobzKHe9iC.jpeg
cloudd    11237 carl   21r     REG                1,4   2465075 1460208 /Users/carl/Pictures/Photos Library.photoslibrary/private/com.apple.cloudphotosd/CloudSync.noindex/Engine/filecache/ATL/cplATLqV8CAvtA70qoJqZ21PimnEIPe.jpeg

tekrar yayınlayın (yukarı ok ve dönüş tuşuna basın) ve değiştiğini görmelisiniz.


Bu komutu nerede çalıştırıyorsunuz? Çıktı neye benziyor?
Andrew Ferrier

Terminalden.
biffom

1
Cd ~ / Pictures gerekmez. Patrix'in bunu neden düzenlediğinden emin değil misiniz?
biffom

Haklısın, niyetini yanlış oku. OTOH, cevabınızı ek içerik eklemek için düzenleyebilirsiniz, ikinci bir yayın göndermenize gerek yoktur.
nohillside
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.