Fleet Engine, verilerini günlüğe kaydetmenize olanak tanıyan basit bir günlük kaydı hizmeti API istekleri ve yanıt yükleri. Bu günlükler sayesinde izleme metrikleri oluşturun ve trafik modellerini analiz edin.
Fleet Engine, günlükleri platform günlükleri Cloud'a Cloud'u kullanabilmeniz için günlük kaydı Erişim için günlük kaydı araçları.
Fleet Engine hangi verileri günlüğe kaydeder?
Fleet Engine, Cloud'a çeşitli bilgiler gönderir. Günlük kaydı. Örneğin:
- Kimliği doğrulanmış tüm REST ve gRPC istekleri ve yanıtları
- Hata yanıtları
- Sürücü tarafından başlatılan aramalardan gelen istekler, yanıtlar ve hata mesajları Fleet Engine'e SDK olarak entegre edildi.
Desteklenen günlük türleri için günlükleri bölün:
Mevcut günlük mesajları ve şemalarla ilgili bilgi edinmek için Logging Referans.
Veri saklama politikalarına uymak için kısıtlanmış ve varsayılan günlük paketlerini kullanma
"Kısıtlanmış" kullanımı ve "default" açık bir şekilde resmedildiğiniz kısıtlanmış ve sınırsız veri kullanımı vardır. Fleet Engine'in kaydettiği günlük verilerinden bazıları Google Haritalar Platformu'na gönderilen veriler yalnızca sınırlı bir süre boyunca saklanabilir. Mobilite Hizmetine Özel Şartlar. Kısıtlanmış verileri yalnızca izin verilen süre boyunca sakladığınızdan emin olmak için bu tür veriler TOS_RESTRICTED olarak etiketlenmelidir (Fleet Engine bunu zaten yapıyor) ve "Kısıtlanmış" adlı özel bir pakete kaydedilir.
Oradan ne kadar süre saklanacağını kontrol edebilir ve verileri şurada otomatik olarak tamamen silebilirsiniz: sona erme tarihidir. Örneğin, kısıtlı kullanım günlükleri yalnızca 30 gün boyunca saklanır.
Kalan kısıtlanmamış tüm verileri "varsayılan" olarak kaydet yardımcı olacak bir Mobilite Hizmetine Özel Şartlar (genellikle 1 yıldır). "Kısıtlanmış" kullanımı ve "default" açık bir şekilde kısıtlı ve sınırsız veri kullanımınızın resmi.
Kısıtlanmış ve kısıtlanmamış günlükleri birleştirerek eksiksiz bir görünüm elde edin
Kısıtlı kullanım günlükleri, kısıtlanmış kullanım verilerini ve
Böylece birlikte değerlendirilebilecekleri varsayılan bir günlük olur. Kısıtlı kullanım günlüğü
parent_insert_id
içinde referans olarak varsayılan günlüğün insertId değerini içerir
girin. Bu alanı, her iki günlükteki verileri birleştirmek ve aşağıdaki verilere erişmek için kullanabilirsiniz:
bir resim oluşturabilirsiniz.
Mevcut tüm günlük mesajları ve şemalarla ilgili dokümanları Logging Referans.
Cloud Logging'i etkinleştirme
Fleet Engine, yeni Mobility müşterileri için varsayılan günlükleri otomatik olarak etkinleştirir. 10 Şubat 2022'de oluşturulan projelerden başlayarak. Okuyucu Gelirleri Yöneticisi'nin Günlükler Gezgin :
resource.type:"fleetengine.googleapis.com/DeliveryFleet"
Bu sorguyla ilgili herhangi bir günlük görmüyorsanız Cloud Logging etkinleştirin. İletişim Destekle tıklayın.
Kısıtlı kullanım günlüklerini etkinleştir
Kısıtlı kullanımlı günlükler istek üzerine etkinleştirilir. Google Hesabınızda bu günlükleri etkinleştirmek için Cloud projesi için aşağıdaki adımları tamamlayın:
Projenizi kısıtlı kullanım günlüklerini alacak şekilde hazırlama
- Google Cloud konsolunda Günlük Yönlendirici sayfasını açın.
- _Default Logging paketini kısıtlanmış kullanım günlüklerini hariç tutacak şekilde güncelleyin.
- _Varsayılan günlük kaydı paketini, ardından Havuzu düzenle'yi seçin.
- "Dosyadan çıkarılacak günlükleri seçin" bölümünde "Ekle"yi tıklayın
Hariç tutuluyor" düğme:
- Hariç tutma filtresi adı: ExcludeRestrictedLogs
- Hariç tutma filtresi: labels.restriction="TOS_RESTRICTED"
- "Havuzu güncelle"yi tıklayın.
- Kısıtlanmış kullanım günlüklerini depolamak için kısıtlanmış günlük kaydı paketini güncelleyin.
- Günlük Yönlendirici sayfasında "Havuz oluştur"u seçin.
- Aşağıdaki ayarları kullanarak havuz oluşturun:
- Havuz ayrıntıları:
- Ad: RestrictedLogs
- Açıklama: Routes Fleet Engine kısıtlı kullanım günlükleri
- Havuz hedefi:
- Havuz hizmeti: Günlük kaydı paketi
- Günlük paketi seçin: Yeni günlük paketi oluşturun
- Ad: Kısıtlanmış
- Açıklama: Fleet Engine kısıtlı kullanım günlüklerini içerir
- Saklama süresi: 30 gün
- Not: Saklama süresi 30 günü geçmemelidir.
- Havuza dahil edilecek günlükler: Boş bırakın
- Havuzun dışında filtrelenecek günlükler: "Hariç Tutma Ekle"yi tıklayın
- Hariç tutma filtresi adı: ExcludeNonKısıtlanmışLogs.
- Hariç tutma filtresi: DEĞİL (resource.type = "fleetengine.googleapis.com/Fleet" VEYA resource.type = "fleetengine.googleapis.com/DeliveryFleet") DEĞİL (labels.restriction = "TOS_SINIRLI")
- "Havuz oluştur"u tıklayın
- Havuz ayrıntıları:
Kısıtlı kullanım günlüklerini etkinleştirmek için destek ekibiyle iletişime geçin
Daha sonra iletişime geçin destek verip destek talebinizde şu bilgileri bulabilirsiniz:
- Etkinleştirilecek proje kimlikleri:
- Değişikliği talep eden kişinin e-posta adresi:
- Not: Bu kişi, Google Cloud projelerinde Düzenleme erişimine sahip olmalıdır. listelendi.
- Cloud Logging'de kısıtlı kullanımlı Google Haritalar içeriklerini etkinleştirerek şunları kabul etmiş olursunuz: Google Haritalar Platformu'na şartları ve Mobilite Hizmeti belirli şartları yerine getirmek Google ile ilgili oldukları için önbelleğe alma ve izin verilen kullanım gereksinimlerini Haritalar İçeriği. Evet/Hayır
Destek ekibi isteğinizi aldıktan sonra, projeniz için etkinleştirildi
Bulut Günlüklerini Böl
Cloud Logging, gelen günlüklerdeki boyutu 256 KB ile sınırlandırır. Hizmet, günlükleri bırakır üzerine çıkacaktır. Cloud Logging'in büyük günlükleri sakladığından emin olmak için Fleet Motor, bu verileri 256 KB'lık eşiğin altında bir dizi günlük halinde bölebilir. Bu tür günlükler ortak bir hedefi var insertId önek öneki ile, hizmetin daha küçük günlüğü günlük büyük boyutlu orijinal bir günlük. Şu koşullara göre gruplara tekrar katılabilirsiniz: insertId.
Bölünmüş orijinal günlüğe erişmek için bölünmüş günlükleri insertIds 7/50'lik dilimlere bölünerek, orijinal sıraya göre Cloud Logging girişine göz atın.
Bölünmüş günlük yapısı, Bölünmüş denetleme bölümünde belirtilen yapıyla aynıdır.
günlük girişleri kılavuzu
Cloud Denetleme Günlükleri. Fleet Logging'deki bölünmüş günlüklerin en önemli farkı,
bölme, protoPayload
yerine jsonPayload
alanında gerçekleşir
girin. Sonraki bölümde gösterilen örnek bölüme bakın.
Desteklenen günlük türleri
Fleet Engine, yalnızca aşağıdaki günlük türleri için günlük bölmeyi destekler günlük boyutu 256 KB'ı aşan kullanıcılar:
Örnek bölme günlüğü yapısı
// First Split Log
{
// insertId appended with an increasing number
"insertId": "ABCDE-1",
"jsonPayload": {
"request": {
"filter": "tracking_id=tracking-test-splitting-task"
},
"@type": "type.googleapis.com/maps.fleetengine.delivery.log.v1.ListTasksLog",
"response": {
"tasks": [
{
"name": "providers/providers-123/tasks/test-splitting-task-id-0",
// ...
},
{
"name": "providers/providers-123/tasks/test-splitting-task-id-1",
// ...
},
{
"name": "providers/providers-123/tasks/test-splitting-task-id-2"
// ...
},
{
"name": "providers/providers-123/tasks/test-splitting-task-id-3",
// ...
},
]
},
"header": {}
},
"resource": {
"type": "fleetengine.googleapis.com/DeliveryFleet",
"labels": {
"resource_container": "projects/providers-123",
"location": "global"
}
},
// Same timestamp
"timestamp": "2024-01-29T23:35:58.076515Z",
"labels": {
},
"logName": "projects/providers-123/logs/fleetengine.googleapis.com%2Flist_tasks",
"receiveTimestamp": "2024-01-29T23:35:59.278858322Z",
"split": {
// UID for this logical log entry (same across splits)
"uid": "ABCDE",
"totalSplits": 2
}
}
// Second Split Log
{
// insertId appended with an increasing number
"insertId": "ABCDE-2",
"jsonPayload": {
"request": {
"filter": "tracking_id=tracking-test-splitting-task"
},
"@type": "type.googleapis.com/maps.fleetengine.delivery.log.v1.ListTasksLog",
"response": {
"tasks": [
// Previous tasks appear as empty objects in subsequent splits
{}, {}, {}, {},
{
"name": "providers/providers-123/tasks/test-splitting-task-id-4",
// ...
}
]
},
"header": {}
},
"resource": {
"type": "fleetengine.googleapis.com/DeliveryFleet",
"labels": {
"resource_container": "projects/providers-123",
"location": "global"
}
},
// Same timestamp
"timestamp": "2024-01-29T23:35:58.076515Z",
"labels": {
},
"logName": "projects/providers-123/logs/fleetengine.googleapis.com%2Flist_tasks",
"receiveTimestamp": "2024-01-29T23:35:59.278858322Z",
"split": {
// UID for this logical log entry (same across splits)
"uid": "ABCDE",
// Subsequent logs after the original will have a zero based index
"index": 1,
"totalSplits": 2
}
}
Günlüklerinize erişme
Cloud Günlükleri,
LogEntry
biçimindedir. Fleet Engine, günlükleri
resource.type
şu değere ayarlandı: fleetengine.googleapis.com
. Günlükler
Gezgin'i seçin
günlüklerinizi görüntülemek için sorgu yazabilirsiniz.
Örneğin, Fleet Engine'e hata döndüren tüm RPC'leri görüntülemek için aşağıdaki Günlük Gezgini sorgusu:
resource.type:"fleetengine.googleapis.com/DeliveryFleet"
severity=ERROR
UpdateDeliveryVehicle
project example-project-id için aşağıdaki Günlük Gezgini sorgusunu kullanın:
logName="projects/project-id/logs/fleetengine.googleapis.com%2Fupdate_delivery_vehicle"
Aşağıdaki örnekte UpdateDeliveryVehicle
için bir Günlük Girişi gösterilmektedir
. RPC isteği ve yanıtı jsonPayload
alanının içinde bulunur:
{
"insertId": "c6b85fbc927343fc8a85338c57a65733",
"jsonPayload": {
"request": {
"header": {4},
"updateMask": "deviceSettings",
"vehicleId": "uniqueVehicleId",
"vehicle": {2}
},
"response": {
"name": "providers/example-project-id/vehicles/uniqueVehicleId",
"availableCapacity": 2,
"state": "VEHICLE_STATE_OFFLINE",
"maximumCapacity": 2,
"vehicleType": {1},
"supportedTrips": {1}
},
"@type": "type.googleapis.com/maps.fleetengine.v1.UpdateDeliveryVehicleLog"
},
"resource": {
"type": "fleetengine.googleapis.com/DeliveryFleet",
"labels": {2}
},
"timestamp": "2021-01-01T00:00:00.000000000Z",
"labels": {2},
"logName": "projects/example-project-id/logs/fleetengine.googleapis.com%2Fupdate_delivery_vehicle",
"receiveTimestamp": "2021-01-01T00:00:00.000000000Z"
}
Bir RPC hatası döndürülürse responseDeliveryVehicle
alanı
errorResponse
alanı ayarlanıp jsonPayload
içinde doldurulur:
{
"insertId": "2ead60bdec561836a1bb84a90e9915cd",
"jsonPayload": {
"@type": "type.googleapis.com/maps.fleetengine.delivery.log.v1.UpdateDeliveryVehicleLog",
"header": {
"languageCode": "en",
"osVersion": "11",
"platform": "PLATFORM_LOG_ANDROID",
"regionCode": "US",
"sdkType": "SDK_TYPE_LOG_DRIVER",
"sdkVersion": "4.4.3"
},
"request": {
"deliveryVehicle": {4},
"deliveryVehicleId": "uniqueDeliveryVehicleId",
"updateMask": "lastLocation"
},
"response": {
"lastLocation": {14},
"name": "providers/example-project-id/deliveryVehicles/uniqueDeliveryVehicleId",
"navigationStatus": "NAVIGATION_STATUS_ARRIVED_AT_DESTINATION",
"remainingDistanceMeters": "430",
"remainingDuration": "10s"
}
},
"labels": {
"delivery_vehicle_id": "uniqueDeliveryVehicleId"
},
"logName": "projects/example-project-id/logs/fleetengine.googleapis.com%2Fupdate_delivery_vehicle",
"receiveTimestamp": "2023-07-14T22:57:51.156515110Z",
"resource": {
"labels": {2},
"type": "fleetengine.googleapis.com/DeliveryFleet"
},
"timestamp": "2023-07-14T22:57:51.018045Z"
}
Günlük kaydı sorgu dili hakkında daha fazla bilgi için Logging sorgusu"na bakın. dil bölümüne bakın. Metrik oluşturmak için günlüklerinizi nasıl kullanabileceğiniz hakkında bilgi edinmek üzere Genel Bakış bölümünü inceleyin. günlük tabanlı metrikleri inceleyin.
Günlük kaydı maliyetlerini yönetme
Günlük kaydı etkinleştirildikten sonra, istediğiniz zaman günlüklerinizi yönlendirme, depolama ve saklamaya yönelik Ek Google Cloud ücreti ödemeniz gerekebilir günlük için ücretler için kullanım ve saklama sınırlarını aşarsanız şarj edin. Ancak aşağıdakilerden birini yaparak günlük kaydı maliyetlerini kontrol edebilirsiniz:
Günlük kaydı kullanımını azaltma
Belirli günlük girişlerini hariç tutarak günlük verisi kullanımı miktarını sınırlandırabilirsiniz.
Günlükleri dışa aktarma veya yönlendirme
Günlükleri diğer Google Cloud'a veya harici hedeflere yönlendirebilirsiniz. varsayılan kullanım ve depolama maliyetleri. Aşağıdaki gibi günlük beslemesini devre dışı bıraktığınızdan emin olun: başlıklı makaleyi inceleyin.
Ücret ödememek için günlük kullanımını devre dışı bırakın
Günlük kaydı kullanımını azaltmak veya günlükleri dışa aktarmak ya da yönlendirmek, hariç tutmanızı sağlar. Ancak, Fleet Engine günlüklerini kullanmak istemiyorsanız kullanımı kapatarak olası Cloud Logging ücretlerini önleyebilirsiniz. Varsayılan olarak Fleet Engine günlükleri, _Default günlük paketine yönlendirilir.
Aşağıdaki komut, _Default günlük kaydı paketini Filoyu almayacak şekilde günceller Motor günlükleri.
gcloud logging sinks update _Default \
--log-filter='NOT LOG_ID("cloudaudit.googleapis.com/activity") \
AND NOT LOG_ID("externalaudit.googleapis.com/activity") \
AND NOT LOG_ID("cloudaudit.googleapis.com/system_event") \
AND NOT LOG_ID("externalaudit.googleapis.com/system_event") \
AND NOT LOG_ID(" cloudaudit.googleapis.com/access_transparency") \
AND NOT LOG_ID("externalaudit.googleapis.com/access_transparency") \
AND NOT resource.type:"fleetengine.googleapis.com"''
Daha fazla bilgi için Cloud Logging'e göz atın. Hariç tutmalar ve Hariç tutma günlükler hakkında daha fazla bilgi edinin. Cloud Logging Dışa Aktarma ve Dışa Aktarma günlükler
Günlük Gezgini'ni kullanma
Günlük Gezgini'ni kullanmak için Cloud Console'u açın, Günlük Kaydı'nı seçin, ardından Günlük Gezgini. Mevcut tüm Fleet Engine günlüklerinin listesini görmek için şunu tıklayın: Fleet Engine Kaynak Türü. Bazı Delivery API günlükleri Görev Kimliği ve Teslimat Aracı Kimliği. Bu etiketleri kullanarak görevleri veya araçları görebilirsiniz.
Günlükleri gönderim aracı kimliğine göre filtreleyin
Günlük Gezgini'nde, günlükleri belirli bir belirli araç:
resource.type="fleetengine.googleapis.com/DeliveryFleet"
labels.delivery_vehicle_id="delivery_vehicle_id"
Günlükleri görev kimliğine göre filtrele
Günlük Gezgini'nde, günlükleri belirli bir belirli bir görev:
resource.type="fleetengine.googleapis.com/DeliveryFleet"
labels.task_id=~"task_id"
Bir aracın belirli bir dönemdeki günlüklerini filtreleme
Günlük Gezgini'nde, günlükleri belirli bir süre boyunca araç için:
resource.type="fleetengine.googleapis.com/DeliveryFleet"
labels.delivery_vehicle_id="delivery_vehicle_id"
timestamp>="2020-09-24T20:00:00.000Z"
timestamp<"2020-09-24T21:00:00.000Z"
Günlük tabanlı metrik örneği
Aşağıdaki örnekte, günlük temelli metriklerin sayısını izlemek için görevleri belirlemenize yardımcı olur.
Cloud Console'da Günlük Kaydı'nı, ardından Günlük Gezgini'ni seçerek açın. tıklayın. Ardından aşağıdaki filtreyi uygulayın:
resource.type="fleetengine.googleapis.com/DeliveryFleet" resource.labels.location="global" logName="projects/ProjectID/logs/fleetengine.googleapis.com%2Fupdate_task" jsonPayload.request.task.taskOutcome="TASK_OUTCOME_LOG_SUCCEEDED" jsonPayload.request.updateMask="taskOutcome" jsonPayload.response.type= ("TASK_TYPE_LOG_PICKUP" OR "TASK_TYPE_LOG_DELIVERY")
Query Results (Sorgu Sonuçları) bölmesinde İşlemler açılır menüsünü, ardından da şunu seçin: Metrik oluşturun.
Metrik Düzenleyici iletişim kutusunda:
- Metrik adı belirtin (örneğin, billable_tasks).
- Bir metrik açıklaması belirtin (örneğin, Faturalandırılabilir öğe sayısı Görevler) de ekleyebilirsiniz.
- Units (Birimler) seçeneğini boş bırakın. _ Type (Tür) seçeneğini olduğu gibi bırakın. Sayaç.
Ardından, Metrik Oluştur düğmesini seçin.
Günlük Tabanlı Metrikler sayfasında metrik başarıyla oluşturulmuştur ve yeni metrik, Kullanıcı tarafından tanımlanan metrikler bölümü. Metrik artık eşleşiyor olarak doldurulur oluşturulur.
Yeni metriğin sağ tarafındaki dikey açılır menüyü seçin ve ardından Metrik Gezgini'nde görüntüle'yi seçin.
Sol bölmede Create Your Query (Sorgunuzu Oluşturun) bölümünün altında, Resource Type (Kaynak Türü) seçeneğini Fleet (Filo) olarak ayarlayın. Engine'i tıklayın ve billable_tasks metriğini arayın.
Sağdaki grafikte billable_tasks çağrılarının oranı gösterilmektedir.
BigQuery'yi Kullanma
BigQuery, analiz gerçekleştirmek için güçlü bir araçtır. Bu özellik, daha uzun vadeli günlükler hazırlama ve verilere üzerinde SQL benzeri anlık sorgular gerçekleştirme olanağı sunar.
Günlükleri BigQuery'ye yönlendirme
BigQuery'den yararlanmak için günlüklerin aşağıdaki gibi bir BigQuery veri deposuna yönlendirilmesi gerekir: şöyle olur:
Cloud Console'da Günlük Kaydı'nı, ardından Günlük Gezgini'ni seçin.
Fleet Engine günlüklerini izole eden bir filtre oluşturun. Günlükler Alanı Gezgini'nde, Fleetengine.googleapis.com/DeliveryFleet kaynak türünü seçin.
Sorgu Sonuçları bölmesinde İşlemler açılır menüsünü tıklayın ve Oluştur Lavabo.
Havuz hizmetini seçin iletişim kutusunda BigQuery veri kümesi'ni seçin.
Havuzu Düzenle iletişim kutusunda, aşağıdaki seçenekleri belirtin:
- Bir havuz adı belirtin (örneğin, FleetEngineLogsSink).
- Havuz Hizmeti'nden BigQuery olarak çıkın.
- Bölümlendirilmiş Tabloları kullan seçeneğini belirleyin. Bu, sorguyu geliştirir bazı yolları da görmüştük.
- Havuz Hedefi bölümünde Yeni BigQuery Veri Kümesi Oluştur'u seçin, ardından bir BigQuery veri kümesi adı belirtin (örneğin, FleetEngineLogs).
- Havuz Oluştur düğmesini tıklayın.
Günlükleriniz BigQuery veri kümesini doldurmaya başlar. Örneğin verileri görüntüleyebilirsiniz.
FleetEngineLogs veri kümesi altındaki çeşitli tablolar doldurulacak (her günlük türü için bir adet) otomatik olarak oluşturulur:
- CreateDeliveryVehicle
- GetDeliveryVehicle
- ListDeliveryVehicle
- UpdateDeliveryVehicle
- CreateTask
- GetTask
- UpdateTask
- ListTasks
Tablo adları aşağıdaki kalıbı kullanır:
project_id.data_set.log_name
Örneğin, projenin adı test_project ise ve veri kümesi adı FleetEngineLogs içindeki CreateTask tablosu şu ada sahiptir:
test_project.FleetEngineLogs.fleetengine_googleapis_com_create_task
Örnek sorgular
Bu bölümde, oluşturabileceğiniz sorgu örnekleri gösterilmektedir.
Saat başına oluşturulan görev sayısı
Aşağıdaki sorgu, CreateTasks günlüklerinin sayısını sayar ve bunları şu ölçüte göre gruplandırır: saat.
SELECT TIMESTAMP_TRUNC(timestamp, HOUR) as hour,
count(*) as num_tasks_created
FROM
`ProjectId.FleetEngineLogs.fleetengine_googleapis_com_create_task`
GROUP BY hour
ORDER by hour
Araç başına saatlik aktarma sayısı
Aşağıdaki sorgu, bir aracın hizmet verdiği aktarmaların sayısını verir. bir süre azalacak.
Örneğin, bu sorgu son bir saat içinde şunları gösterebilir:
- A aracı 12. saatte 10 aktarma ve 13. saatte 8 aktarma işlemini tamamladı.
- B aracı 11. saatte 5 aktarma ve 12. saatte 7 aktarma tamamladı.
C aracı 13. saatte 12 aktarma ve 14. saatte 9 aktarma tamamladı.
SELECT jsonpayload_v1_updatedeliveryvehiclelog.request.deliveryvehicleid AS vehicle, TIMESTAMP_TRUNC(timestamp, HOUR) AS hour, COUNT(*) AS num_stops FROM `ProjectId.FleetEngineLogs.fleetengine_googleapis_com_update_delivery_vehicle` WHERE ARRAY_LENGTH(jsonpayload_v1_updatedeliveryvehiclelog.request.deliveryvehicle.remainingvehiclejourneysegments) > 0 AND jsonpayload_v1_updatedeliveryvehiclelog.request.deliveryvehicle.remainingvehiclejourneysegments[ OFFSET (0)].stop.state = 'VEHICLE_STOP_STATE_LOG_ARRIVED' GROUP BY 1, 2 ORDER BY 2
İlk teslimat başarı oranı
İlk yayınlamadaki başarı yüzdesini gösteren aşağıdaki sorgu deneme oranı.
SELECT
vehicle_id,
COUNTIF(outcome = "TASK_OUTCOME_LOG_SUCCEEDED") AS num_success,
COUNT(*) AS total_deliveries,
COUNTIF(outcome = "TASK_OUTCOME_LOG_SUCCEEDED") * 100/ COUNT(*) AS success_rate
FROM (
SELECT
labels.delivery_vehicle_id AS vehicle_id,
jsonpayload_v1_updatetasklog.response.trackingid AS trackingid,
ARRAY_AGG(jsonpayload_v1_updatetasklog.response.taskoutcome
ORDER BY
timestamp ASC)[ORDINAL(1)] AS outcome,
FROM
`ProjectId.FleetEngineLogsfleetengine_googleapis_com_update_task`
WHERE
jsonpayload_v1_updatetasklog.response.type = "TASK_TYPE_LOG_DELIVERY"
GROUP BY 1, 2
ORDER BY 1, 2)
GROUP BY 1
ORDER BY 1
Data Studio kontrol panelleri
BigQuery, iş zekası araçlarıyla entegre edilebilir. Kontrol panelleri sayesinde oluşturulması gerekir.
Aşağıdaki örnekte, bir kontrol panelinin hangi görevler ve araçlar üzerinde hareketler harita üzerinde görselleştirilebilir.
Yeni bir Datastudio kontrol panelini kullanıma sunun ve veri olarak BigQuery'yi seçin bağlantı.
Özel Sorgu'yu ve olması gereken bulut projesini seçin. faturalandırılır.
Sorgu kutusuna aşağıdaki sorguyu girin.
SELECT
timestamp,
labels.delivery_vehicle_id,
jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.latitude AS lat,
jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.longitude AS lng
FROM
`ProjectId.FleetEngineLogs.fleetengine_googleapis_com_update_delivery_vehicle`
Baloncuk Haritası olarak Grafik Türü'nü seçin ve ardından konum alanını seçin.
Create Field (Alan Oluştur) seçeneğini belirleyin.
Alana bir ad verin ve şu formülü ekleyin: CONCAT(lat, ",", lng).
Ardından, türü Coğrafi->Enlem, Boylam olarak ayarlayın.
Verileri filtrelemek için kontrol paneline kontrol ekleyebilirsiniz. Örneğin, tarih aralığı filtresini kullanarak bulun.
Varsayılan bir tarih aralığı seçmek için tarih aralığı kutusunu düzenleyin.
delivery_vehicle_id için ek Açılır liste kontrolleri ekleyebilirsiniz.
Bu denetimlerle aracın hareketini veya aracın hareketini belirli bir harekettir.