Arka plan hizmetlerinde hata ayıklama

Sofia Emelianova
Sofia Emelianova

Chrome Geliştirici Araçları'nın Arka plan hizmetleri bölümü, kullanıcılar web siteniz açık olmadığında bile web sitenizin güncelleme gönderip almasını sağlayan JavaScript API'lerine yönelik bir araç koleksiyonudur. Arka plan hizmeti, işlevsel olarak arka plan işlemine benzer.

Arka plan hizmetleri bölümü aşağıdaki arka plan hizmetlerinde hata ayıklamanıza olanak tanır:

Chrome Geliştirici Araçları, Geliştirici Araçları açık olmasa bile getirme, senkronizasyon ve bildirim etkinliklerini üç gün boyunca günlüğe kaydedebilir. Bu, etkinliklerin beklendiği gibi gönderildiğinden ve alındığından emin olmanıza yardımcı olabilir.

Geliştirici Araçları, arka plan hizmet etkinliklerine ek olarak şunları da yapabilir:

Arka planda getirme

Arka Planda Getirme API'si, hizmet çalışanının filmler veya podcast'ler gibi büyük kaynakları arka plan hizmeti olarak güvenilir bir şekilde indirmesini sağlar. Geliştirici Araçları açık olmasa bile, arka planda getirme etkinliklerini üç gün boyunca günlüğe kaydetmek için:

  1. Örneğin, bu demo sayfasında Geliştirici Araçları'nı açın.
  2. Uygulama > Arka plan hizmetleri > Arka planda getirme'ye gidin ve Kaydet'e dokunun. Kaydet'i tıklayın.

    Arka planda getirme bölmesi.

  3. Demo sayfasında Öğeleri yerel olarak depola'yı tıklayın. Bu, bazı arka plan getirme etkinliklerini tetikler. Geliştirici Araçları, etkinlikleri tabloya kaydeder.

    Arka planda getirme bölmesindeki etkinliklerin günlüğü.

  4. Tablonun altındaki alanda ayrıntılarını görüntülemek için bir etkinliği tıklayın.

  5. Geliştirici Araçları'nı kapatıp kaydı üç gün boyunca çalışır durumda bırakabilirsiniz. Kaydı durdurmak için Durdur. Durdur'u tıklayın.

Arka plan senkronizasyonu

Arka Plan Senkronizasyonu API, güvenilir bir internet bağlantısı yeniden kurulduğunda çevrimdışı bir hizmet çalışanının sunucuya veri gönderebilmesini sağlar. Geliştirici Araçları açık olmasa bile, arka planda gerçekleşen senkronizasyon etkinliklerini üç gün boyunca günlüğe kaydetmek için:

  1. Örneğin, bu demo sayfasında Geliştirici Araçları'nı açın.
  2. Uygulama > Arka plan hizmetleri > Arka planda senkronizasyon'a gidin ve Kaydet'e dokunun. Kaydet'i tıklayın.

    Arka plan senkronizasyon bölmesi.

  3. Demo sayfasında, ilgili hizmet çalışanını kaydetmek için Arka plan senkronizasyonunu kaydet'i tıklayın ve istendiğinde İzin ver'i tıklayın.

    Service Worker kaydı, bir arka plan senkronizasyon etkinliğidir. Geliştirici Araçları, etkinlikleri tabloya kaydeder.

    Arka plan senkronizasyonu bölmesindeki etkinliklerin günlüğü.

  4. Tablonun altındaki alanda ayrıntılarını görüntülemek için bir etkinliği tıklayın.

  5. Geliştirici Araçları'nı kapatıp kaydı üç gün boyunca çalışır durumda bırakabilirsiniz. Kaydı durdurmak için Durdur. Durdur'u tıklayın.

(Deneysel) Hemen çıkma durumunu izleme çözümleri

Chrome'daki Hemen çıkma izleme çözümleri denemesi, hemen çıkma izleme tekniğini kullanarak siteler arası izleme gerçekleştirdiği görülen sitelerin durumunu tanımlamanıza ve silmenize olanak tanır. Çözümleri izlemeyi manuel olarak zorunlu kılabilir ve durumu silinen sitelerin listesini görebilirsiniz.

Çözümleri takip etmeye zorlamak için:

  1. Chrome'da üçüncü taraf çerezlerini engelleyin. Üç nokta menü. > Ayarlar > Güvenlik. Gizlilik ve güvenlik > Çerezler ve diğer site verileri > Radyo düğmesi işaretlendi. Üçüncü taraf çerezlerini engelle bölümüne gidip etkinleştirin.
  2. chrome://flags sayfasında, Hemen çıkma izleme çözümleri denemesini Silme Özelliğiyle Etkinleştirildi olarak ayarlayın.
  3. Örneğin, demo sayfasında Geliştirici Araçları'nı açın ve Uygulama > Arka plan hizmetleri > Hemen çıkma durumunu izleme çözümleri'ne gidin.
  4. Demo sayfasında, bir geri dönme bağlantısını tıklayın ve Chrome'un geri dönmeyi kaydetmesini bekleyin (10 saniye). Sorunlar sekmesi, yaklaşan durum silme işlemi hakkında sizi uyarır.
  5. Durumu hemen silmek için Zorla çalıştır'ı tıklayın.

Hemen çıkma durumunu izleme çözümleri, bir durum silme işlemini listeler.

Bildirimler

Service Worker sunucudan Push Mesaj aldıktan sonra, verileri kullanıcıya göstermek için Bildirimler API'sini kullanır. Geliştirici Araçları açık olmasa bile Bildirimleri üç gün boyunca günlüğe kaydetmek için:

  1. Örneğin, bu demo sayfasında Geliştirici Araçları'nı açın.
  2. Uygulama > Arka plan hizmetleri > Bildirimler'e gidin ve Kaydet'e dokunun. Kaydet'i tıklayın.

    Bildirimler bölmesi.

  3. Demo sayfasında Bildirim Planla'yı, istendiğinde İzin Ver'i tıklayın.

  4. Bildirimin görünmesini bekleyin. DevTools bildirim etkinliklerini tabloya kaydeder.

    Bildirimler bölmesindeki etkinliklerin günlüğü.

  5. Tablonun altındaki alanda ayrıntılarını görüntülemek için bir etkinliği tıklayın.

  6. Geliştirici Araçları'nı kapatıp kaydı üç gün boyunca çalışır durumda bırakabilirsiniz. Kaydı durdurmak için Durdur. Durdur'u tıklayın.

Tahmine dayalı yüklemeler

Tahmine dayalı yüklemeler, tanımladığınız tahmin kurallarına göre hemen sayfa yüklenmeye olanak tanır. Bu, web sitenizin en çok gidilen sayfaları önceden getirmesine ve önceden işlemesine olanak tanır.

Önceden getirme, bir kaynağı önceden getirir ve önceden işleme, bir adım ötesine geçer ve tüm sayfayı gizli bir arka plan oluşturucu işleminde oluşturur.

Tahmine dayalı yüklemelerde hata ayıklama işlemini Uygulama > Arka plan hizmetleri > Tahmine dayalı yüklemeler bölümünde yapabilirsiniz. Bu bölümde üç görünüm yer almaktadır:

  • Tahmine dayalı yüklemeler. Mevcut sayfanın, mevcut URL'nin, geçerli sayfanın tahmine dayalı olarak yüklemeye çalıştığı sayfaların spekülatif durumunu ve durumlarını içerir.
  • Kurallar. Öğeler panelindeki geçerli sayfada bulunan kural gruplarını ve tahminlerin genel durumunu içerir.
  • Tahminler. Tahmine dayalı yükleme denemeleri ve durumlarıyla ilgili bilgilerin yer aldığı bir tablo bulunur. Bir deneme başarısız olduysa ayrıntılı bilgileri ve başarısızlığın nedenini görmek için tabloda bunu tıklayabilirsiniz.

Tahmine dayalı yükleme hatalarını şu demo sayfasında yapmayı deneyin:

  1. Sayfada Geliştirici Araçları'nı açıp Uygulama > Arka plan hizmetleri > Tahmine dayalı yüklemeler'e gidin. Sayfanın başlattığı, tahmine dayalı bir yükleme göremiyorsanız sayfayı yeniden yükleyin.

    Bu sayfa tarafından tahmine dayalı olarak yüklenen URL'ler, iki başarılı ve bir başarısız işlem olarak görünüyor.

  2. Demonun başlangıç sayfası iki sayfayı önceden işliyor ve bir sayfa önceden işlenemiyor. Tüm tahminleri görüntüle'yi tıklayın.

  3. Tahminler bölümünde, Hata durumundaki tahmini seçin. Ardından, en altta ayrıntılı bilgilerin yer aldığı Başarısızlık nedeni bölümünü görebilirsiniz.

    Başarısız tahmin seçildi.

    Bu durumda, web sitesinde /next3.html sayfası olmadığından önceden işleme başarısız oldu.

  4. Kurallar bölümünü açın ve alt tarafta kural grubunu görmek için Durum'u tıklayın. Kural grubu bağlantısını tıkladığınızda Öğeler paneline yönlendirilirsiniz ve tahmin kuralının nerede tanımlandığı gösterilir.

    Kural grubunun bağlantısının yer aldığı Kurallar bölümü.

Daha ayrıntılı bir adım adım açıklamalı kılavuz için Spekülasyon kurallarında hata ayıklama bölümüne bakın.

Push mesajlaşma

Kullanıcıya push bildirimi göstermek için Service Worker'ın önce Push Message API'yi kullanarak sunucudan veri alması gerekir. Service Worker bildirimi görüntülemeye hazır olduğunda Bildirimler API'sini kullanır. Geliştirici Araçları açık olmasa bile, push mesajlarını üç gün boyunca günlüğe kaydetmek için:

  1. Örneğin, bu demo sayfasında Geliştirici Araçları'nı açın.
  2. Uygulama > Arka plan hizmetleri > Push Mesajlaşma'ya gidin ve Kaydet'e dokunun. Kaydet'i tıklayın.

    Push Messaging bölmesi.

  3. Demo sayfasında Push bildirimlerini etkinleştir'i açın, istendiğinde İzin ver'i tıklayın, bir mesaj yazın ve gönderin. Geliştirici Araçları, push bildirimi etkinliklerini tabloya kaydeder.

    Push Messaging (Push Mesajlaşma) bölmesindeki etkinliklerin günlüğü.

  4. Tablonun altındaki alanda ayrıntılarını görüntülemek için bir etkinliği tıklayın.

  5. Geliştirici Araçları'nı kapatıp kaydı üç gün boyunca çalışır durumda bırakabilirsiniz. Kaydı durdurmak için Durdur. Durdur'u tıklayın.

Reporting API

Bazı hatalar yalnızca üretimde ortaya çıkar. Gerçek kullanıcılar, ağlar ve cihazlar oyunu değiştirdiğinden bunları yerel olarak veya geliştirme sırasında asla görmezsiniz.

Örneğin, yeni sitenizin kritik komut dosyalarını yüklemek için document.write() kullanan bir üçüncü taraf yazılımından yararlandığını varsayalım. Dünyanın her yerinden yeni kullanıcılar sitenizi açsa da bu kullanıcıların bağlantıları test ettiğinizden daha yavaş olabilir. Siz bilmeseniz de Chrome, yavaş ağlarda document.write() hizmetine müdahale ettiğinden siteniz onlar için bozulmaya başlar. Alternatif olarak, kod tabanınızın kullanıyor olabileceği desteği sonlandırılmış veya yakında sonlandırılacak API'leri takip etmek isteyebilirsiniz.

Reporting API, kullanımdan kaldırılan API çağrılarını, sayfanıza ilişkin güvenlik ihlallerini ve daha fazlasını izlemenize yardımcı olmak üzere tasarlanmıştır. Raporlamayı, Web uygulamanızı Reporting API ile izleme bölümünde açıklandığı şekilde ayarlayabilirsiniz.

Bir sayfa tarafından oluşturulan raporları görüntülemek için:

  1. chrome://flags/#enable-experimental-web-platform-features adresine gidin, Deneysel Web Platformu özellikleri'ni Etkin olarak ayarlayın ve Chrome'u yeniden başlatın.
  2. Geliştirici Araçları'nı açın ve Uygulama > Arka plan hizmetleri > Reporting API'ye gidin. Örneğin, bu demo sayfasındaki raporlara göz atabilirsiniz.

    Reporting API'de listelenen raporlar

Reporting API sekmesi üç bölüme ayrılır:

  • Her raporda aşağıdaki bilgileri içeren Raporlar tablosu:
    • Rapor oluşturulmasına neden olan URL
    • İhlal Türü
    • Durum Raporu
    • Hedef uç noktası
    • Oluşturulma zamanı: zaman damgası
    • Rapor Gövdesi
  • Rapor gövdesi önizleme bölümü. Bir rapor gövdesini önizlemek için raporlar tablosunda bir raporu tıklayın.
  • Reporting-Endpoints başlığında yapılandırılan tüm uç noktalara genel bir bakış sunan Uç Noktalar bölümü.

Rapor durumu

Durum sütunu, Chrome'un raporu başarıyla gönderip göndermediğini, göndermek üzere mi yoksa başarısız mı olduğunu belirtir.

Durum Açıklama
Success Tarayıcı raporu gönderdi ve uç nokta, bir başarı koduyla yanıt verdi (200 veya başka bir başarılı yanıt kodu 2xx).
Pending Tarayıcı, raporu göndermeye çalışıyor.
Queued Rapor oluşturuldu ve tarayıcı henüz raporu göndermeye çalışmıyor. Rapor, aşağıdaki iki durumdan birinde Queued olarak görünür:
  • Rapor yenidir ve tarayıcı, göndermeyi denemeden önce daha fazla rapor gelip gelmediğini görmek için beklemektedir.
  • Rapor yeni değil. Tarayıcı, bu raporu göndermeyi denediği halde başarısız oldu ve tekrar denemeden önce bekliyor.
MarkedForRemoval Bir süre yeniden denedikten sonra (Queued), tarayıcı raporu gönderme girişimini durdurdu ve kısa süre içinde raporu gönderilecek raporlar listesinden kaldıracak.

Raporlar, başarıyla gönderilip gönderilmemesinden bağımsız olarak bir süre sonra kaldırılır.