Registro

Fleet Engine ofrece un servicio de registro sencillo que te permite guardar sus Solicitudes a la API y cargas útiles de respuesta. Con estos registros, puedes depurar tus crear métricas de supervisión y analizar patrones de tráfico.

Fleet Engine envía los registros como plataforma registros a Cloud Logging, para que puedas usar el servicio Herramientas de registro para acceder a ellas.

Qué registros de Fleet Engine

Fleet Engine envía múltiples datos a Cloud Logging, como los siguientes:

  • Todas las solicitudes y respuestas autenticadas de REST y gRPC
  • Respuestas de error
  • Solicitudes, respuestas y mensajes de error de las llamadas que inició el conductor a Fleet Engine.
  • Divide los registros para los tipos de registros compatibles:

Consulta la documentación para conocer los mensajes de registro y los esquemas disponibles en la página de Registros Referencia.

Usa buckets de registros restringidos y predeterminados para cumplir con las políticas de retención de datos

Uso de contenido “restringido” y “predeterminada” garantiza un panorama claro de tu el uso de datos restringido y sin restricciones. Algunos de los datos de registro que Fleet Engine que envíe a Google Maps Platform solo se retendrán por un período limitado, según el Reglamento del servicio de movilidad Condiciones. Para asegurarte de conservar los datos restringidos solo durante el tiempo permitido, esos datos deben etiquetarse como TOS_RESTRICTED (Fleet Engine ya lo hace) y se registran en un bucket dedicado llamado “restringido”.

Desde allí, puedes controlar por cuánto tiempo se retendrá y borrar los datos automáticamente con la configuración de Cloud Logging. Por ejemplo, los registros de uso restringido solo se conservarán por 30 días.

Registrar todos los datos sin restricciones restantes en la “configuración predeterminada” de servicio, en el que se puede se retendrán por períodos más prolongados, como se define en la Especificación de Condiciones (generalmente, durante 1 año). Uso de contenido “restringido” y “predeterminada” garantiza que se haya definido del uso de datos restringido y sin restricciones.

Combina registros restringidos y no restringidos para obtener una vista completa

Los registros de uso restringido contienen los datos de uso restringido y una referencia al para que puedan considerarse en conjunto. El registro de uso restringido Contiene el insertId del registro predeterminado como referencia en el parent_insert_id. . Puedes usar este campo para unir los datos de ambos registros y obtener el panorama completo.

Consulta la documentación para ver todos los mensajes y esquemas de registro disponibles en Logging Referencia.

Habilita Cloud Logging

Fleet Engine habilita automáticamente los registros predeterminados para los nuevos clientes de movilidad, empezando por los proyectos creados el 10 de febrero de 2022. Puedes confirmar si el registro se habilita con la siguiente consulta en la sección Registros Explorador :

resource.type:"fleetengine.googleapis.com/DeliveryFleet"

Si no ves ningún registro para esa consulta, es posible que Cloud Logging no se haya habilitado para tu proyecto. Contacto Asistencia si lo deseas para habilitar la función.

Habilita los registros de uso restringido

Los registros de uso restringido se habilitan a pedido. Para habilitar estos registros en tu cuenta de Google Cloud, completa los siguientes pasos:

Prepara tu proyecto para recibir registros de uso restringido

  1. En la consola de Google Cloud, abre la página Enrutador de registros.
  2. Actualizar el bucket de registros _Default para excluir los registros de uso restringido
    1. Selecciona el bucket de registro _Default y, luego, elige Editar receptor.
    2. En “Elige registros para filtrar fuera del receptor”, haz clic en el botón Exclusión" :
      1. Nombre del filtro de exclusión: ExcludeRestrictedLogs
      2. Filtro de exclusión: labels.restriction="TOS_RESTRICTED"
    3. Haz clic en “Actualizar receptor”.
  3. Actualiza el bucket de registros restringidos para almacenar los registros de uso restringido.
    1. En la página Enrutador de registros, selecciona “Crear receptor”.
    2. Crea un receptor con la siguiente configuración:
      1. Detalles del receptor:
        1. Nombre: RestrictedLogs
        2. Descripción: Registros de uso restringido de las rutas de Fleet Engine
      2. Destino del receptor:
        1. Servicio del receptor: bucket de Logging
        2. Seleccionar bucket de registros: Crear un bucket de registros nuevo
          1. Nombre: Restringido
          2. Descripción: Contiene registros de uso restringido de Fleet Engine
        3. Período de retención: 30 días
          1. Nota: El período de retención no debe superar los 30 días.
      3. Registros para incluir en el receptor: déjalos vacíos
      4. Registros para filtrar fuera del receptor: Haz clic en "Agregar exclusión"
        1. Nombre del filtro de exclusión: ExcludeNonRestrictedLogs
        2. Filtro de exclusión: NOT (resource.type = "fleetengine.googleapis.com/Fleet" O resource.type = "fleetengine.googleapis.com/DeliveryFleet") NO (labels.restriction = "TOS_RESTRICTED")
      5. Haz clic en "Crear receptor"

Comunícate con el equipo de asistencia para habilitar los registros de uso restringido

Luego, comunícate con asistencia y proporcionar la siguiente información en tu solicitud de asistencia:

  1. IDs de los proyectos que se habilitarán:
  2. Dirección de correo electrónico de la persona que solicita el cambio:
    1. Nota: Esta persona debe tener acceso de edición a los proyectos de Google Cloud. en la lista.
  3. Si habilitas el contenido de uso restringido de Google Maps en Cloud Logging, aceptas para cumplir con los lineamientos de Google Maps Platform condiciones y el Servicio de movilidad específico condiciones, incluidos los requisitos de almacenamiento en caché y uso permitido en relación con las Contenido de Maps. Sí / No

Cuando el equipo de asistencia al cliente reciba su solicitud, le enviará una confirmación de que el registro se habilitó para tu proyecto

Divide los registros de la nube

Cloud Logging limita el tamaño de los registros entrantes a 256 KB. El servicio descarta los registros supere ese umbral. Para garantizar que Cloud Logging retenga registros grandes, Fleet Engine puede dividirlos en una serie de registros por debajo del umbral de 256 KB. Tales registros tienen un insertId para indicar el orden en que el servicio divide el registro más pequeño del registro de gran tamaño original. Luego, puedes volver a unirlos según su insertId.

Para acceder al registro original sin dividir, combina los registros divididos por su insertIds en el orden original en que se dividieron, como lo indica su índice en la a la entrada de registro de Cloud.

La estructura del registro dividido es la misma que la que se menciona en Auditoría dividida guía de entradas de registro para Registros de auditoría de Cloud. La principal diferencia para los registros divididos en Fleet Logging es que La división se produce en el campo jsonPayload, en lugar de en protoPayload . Consulta la división de ejemplo que se muestra en la siguiente sección.

Tipos de registros compatibles

Fleet Engine solo admite la división de registros para los siguientes tipos de registros cuyo tamaño de registro supere los 256 KB:

Ejemplo de estructura de registro de división

// 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
  }
}

Accede a tus registros

Los registros de Cloud se estructuran en torno a la LogEntry de un conjunto de datos tengan un formato común. Fleet Engine envía registros a Cloud Logging con el Se estableció resource.type en fleetengine.googleapis.com. Puedes usar la pestaña Registros Explorador a escribir consultas para ver tus registros.

Por ejemplo, para ver todas las RPC de Fleet Engine que mostraron un error, usa el siguiente consulta del Explorador de registros:

resource.type:"fleetengine.googleapis.com/DeliveryFleet"
severity=ERROR

Para ver los registros de las RPC realizadas al método UpdateDeliveryVehicle del project example-project-id, usa la siguiente consulta del Explorador de registros:

logName="projects/project-id/logs/fleetengine.googleapis.com%2Fupdate_delivery_vehicle"

En el siguiente ejemplo, se muestra una LogEntry para UpdateDeliveryVehicle registro. La solicitud y la respuesta de RPC se encuentran dentro del campo jsonPayload:

    {
      "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"
    }

Si se muestra un error de RPC, el campo responseDeliveryVehicle se Se borrará y el campo errorResponse se establezca y se complete en jsonPayload:

    {
      "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"
    }

Para obtener más información sobre el lenguaje de las consultas de registro, visita Consulta de Logging idioma. Si deseas obtener información sobre cómo puedes usar tus registros para crear métricas, consulta Descripción general de registros basados en métricas.

Administra los costos de los registros

Después de habilitar el registro, eres responsable de configurar cómo deseas para enrutar, almacenar y retener tus registros. Es posible que incurras en gastos adicionales de cargos por registro transferencia y retención si superas los límites de uso y retención sin y cargar. Sin embargo, puedes controlar los costos de registro si realizas una de las siguientes acciones:

Reduce el uso de registros

Puedes limitar la cantidad de transferencia de datos de registro excluyendo ciertas entradas de registro.

Exportar o enrutar registros

Puedes enrutar los registros a otros destinos de Google Cloud o externos para evitar las los costos predeterminados de transferencia y almacenamiento. Asegúrate de desactivar la transferencia de registros, ya que que se describe en la siguiente sección, para evitar costos de transferencia.

Desactiva la transferencia de registros para evitar cargos

Es preferible reducir el uso de los registros, o exportar o enrutar los registros, en lugar de convertir fuera de la transferencia de registros. Sin embargo, si no pretendes usar los registros de Fleet Engine, puedes evitar posibles cargos de Cloud Logging desactivando la transferencia. De forma predeterminada, Los registros de Fleet Engine se enrutan al bucket de registros _Default.

El siguiente comando actualiza el bucket de registros _Default para no transferir la flota de Compute Engine.

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"''

Para obtener más información, consulta Cloud Logging Exclusiones y Exclusión los registros del sistema. Cloud Logging Exportaciones y Exportaciones registros

Usar el Explorador de registros

Para usar el Explorador de registros, abre la consola de Cloud, selecciona Logging y, luego, Explorador de registros. Para ver una lista de todos los registros de Fleet Engine disponibles, haz clic en el tipo de recurso de Fleet Engine. Algunos registros de la API de Delivery están etiquetados con una ID de tarea y un ID de vehículo de entrega. Puedes usar estas etiquetas para seleccionar registros las tareas o los vehículos que te interesan.

Etiquetas de registro

Filtrar registros por ID de vehículo de entrega

En el Explorador de registros, puedes usar la siguiente consulta para restringir los registros a un vehículo específico:

    resource.type="fleetengine.googleapis.com/DeliveryFleet"
    labels.delivery_vehicle_id="delivery_vehicle_id"

Filtrar vehículo

Filtrar registros por ID de tarea

En el Explorador de registros, puedes usar la siguiente consulta para restringir los registros a un tarea específica:

    resource.type="fleetengine.googleapis.com/DeliveryFleet"
    labels.task_id=~"task_id"

Filtrar los registros de un vehículo durante un período específico

En el Explorador de registros, puedes usar la siguiente consulta para restringir los registros a aquellos para un vehículo durante un período específico:

    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"

Ejemplo de métricas basadas en registros

En el siguiente ejemplo, se muestra cómo usar métricas basadas en registros para hacer un seguimiento de la cantidad tareas creadas con el tiempo.

  1. En la consola de Cloud, selecciona Logging y, luego, Explorador de registros para abrir. el Explorador de registros. Luego, aplica el siguiente filtro:

    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")
    
  2. En el panel Resultados de la consulta, selecciona el menú desplegable Acciones y, luego, selecciona Crear métrica.

    Crear métrica

  3. En el diálogo Editor de métricas, sigue estos pasos:

    • Especifica un nombre de métrica (por ejemplo, billable_tasks).
    • Especifica una descripción de la métrica (por ejemplo, The number of Billable) Tasks).
    • Deja la opción Unidades en blanco. _ Deja la opción Tipo como Contador.

    Luego, selecciona el botón Crear métrica.

  4. En la página Métricas basadas en registros, deberías ver un mensaje en el que se confirma que el se creó correctamente y la métrica nueva debería aparecer en el Sección de métricas definidas por el usuario. La métrica ahora se propagará como coincidente. cuando se generan registros.

  5. Selecciona el menú desplegable vertical que se encuentra a la derecha de la métrica nueva y, luego, Selecciona Ver en el Explorador de métricas.

    Ver métrica

  6. En el panel izquierdo en Build Your Query, establezca el tipo de recurso en Flota. Engine y busca la métrica billable_tasks.

    Buscar métrica

    En el gráfico de la derecha, se muestra la tarifa de llamadas billable_tasks.

Usar BigQuery

BigQuery es una herramienta potente para realizar análisis. Se puede usar para almacenar registros a largo plazo y realizar consultas ad hoc similares a las de SQL en los datos.

Enruta registros a BigQuery

Para aprovechar BigQuery, los registros se deben enrutar a un almacén de datos de BigQuery, ya que sigue:

  1. En la consola de Cloud, selecciona Logging y, luego, Explorador de registros.

  2. Crear un filtro que aísle los registros de Fleet Engine En el Explorador del campo de registros, selecciona el tipo de recurso Fleetengine.googleapis.com/DeliveryFleet.

    Crea
filtrar

  3. En el panel Resultados de la consulta, haz clic en el menú desplegable Acciones y selecciona Crear Receptor.

    Crea
lavabo

  4. En el diálogo Seleccionar servicio del receptor, elige Conjunto de datos de BigQuery.

    Seleccionar
lavabo

  5. En el diálogo Editar receptor, especifica las siguientes opciones:

    • Especifica un nombre de receptor (por ejemplo, FleetEngineLogsSink).
    • Deja el servicio del receptor como BigQuery.
    • Selecciona la opción Usar tablas particionadas. Esto impulsará la búsqueda rendimiento.
    • En Destino del receptor, selecciona Crear nuevo conjunto de datos de BigQuery y, luego, especificar un nombre de conjunto de datos de BigQuery (por ejemplo, FleetEngineLogs).
    • Haz clic en el botón Crear receptor.

    Editar
    lavabo

Tus registros deberían comenzar a propagarse en el conjunto de datos de BigQuery. Puedes consultar la datos en la sección BigQuery de la consola de Cloud.

BigQuery
sección

Se propagarán varias tablas del conjunto de datos de FleetEngineLogs automáticamente, una para cada tipo de registro:

  • CreateDeliveryVehicle
  • GetDeliveryVehicle
  • ListDeliveryVehicle
  • UpdateDeliveryVehicle
  • CreateTask
  • GetTask
  • UpdateTask
  • ListTasks

Los nombres de la tabla usan el siguiente patrón:

project_id.data_set.log_name

Por ejemplo, si el proyecto se llama test_project y el nombre del conjunto de datos es FleetEngineLogs, la tabla CreateTask tiene el siguiente nombre:

test_project.FleetEngineLogs.fleetengine_googleapis_com_create_task

Consultas de ejemplo

En esta sección, se muestran ejemplos de las consultas que puedes crear.

Tareas creadas por hora

La siguiente consulta cuenta la cantidad de registros de CreateTasks y los agrupa según hora.

    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

Cantidad de paradas por vehículo por hora

La siguiente consulta genera un recuento de las paradas que realizó un vehículo, que no funcionan por hora.

Por ejemplo, esta consulta podría indicar lo siguiente en la última hora:

  • El vehículo A completó 10 paradas en la hora 12 y 8 paradas en la hora 13.
  • El vehículo B completó 5 paradas en la hora 11 y 7 paradas en la hora 12.
  • El vehículo C completó 12 paradas en la hora 13 y 9 paradas en la hora 14.

    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
    

Tasa de éxito de la primera publicación

La siguiente consulta muestra el porcentaje de éxito en la primera entrega tasa de intentos.

    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

Paneles de Data Studio

BigQuery puede integrarse en herramientas de inteligencia empresarial, y los paneles pueden crearse para el análisis empresarial.

En el siguiente ejemplo, se muestra cómo crear un panel en qué tareas y vehículo los movimientos se pueden visualizar en un mapa.

  1. Iniciar un nuevo panel de Data Studio y seleccionar BigQuery como los datos conexión.

    Datos
conexión

  2. Selecciona Custom Query y, luego, el proyecto de Cloud al que debe estar facturados.

    Seleccionar
proyecto

  3. Ingresa la siguiente consulta en el cuadro de consulta.

    Ingresar
consulta

    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`
  1. Selecciona Tipo de gráfico como Mapa de burbujas y, luego, selecciona el campo de ubicación.

    Gráfico
tipo

  2. Selecciona Crear campo.

    Crea
campo

  3. Asígnale un nombre al campo y agrega la siguiente fórmula: CONCAT(lat, ",", lng).

    Luego, configura el tipo como Geo->Latitude, Longitude.

    Definir
tipo

  4. Puedes agregar controles al panel para filtrar datos. Por ejemplo, selecciona el filtro Período.

    Agrega
controles

  5. Edita el cuadro de período para seleccionar un período predeterminado.

    Fecha
rango

  6. Puedes agregar controles adicionales en la lista desplegable para delivery_vehicle_id.

    Desplegable
incluir en una ficha

Con estos controles, puedes visualizar el movimiento del vehículo o de la movimiento dentro de una entrega.