--- title: Edge description: A template designed to report observed communication edges between workloads. location: https://istio.io/docs/reference/config/policy-and-telemetry/templates/edge.html layout: protoc-gen-docs generator: protoc-gen-docs number_of_entries: 1 ---

The `edge` template represents an edge in the mesh graph.

## Template

The `edge` template represents an edge in the mesh graph

When writing the configuration, the value for the fields associated with this template can either be a literal or an expression. Please note that if the datatype of a field is not istio.mixer.adapter.model.v1beta1.Value, then the expression’s inferred type must match the datatype of the field.

Example config:

    apiVersion: "config.istio.io/v1alpha2"
    kind: instance
    metadata:
      name: default
      namespace: istio-system
    spec:
      compiledTemplate: edge
      params:
        timestamp: request.time
        sourceUid: source.uid | "Unknown"
        sourceOwner: source.owner | "Unknown"
        sourceWorkloadName: source.workload.name | "Unknown"
        sourceWorkloadNamespace: source.workload.namespace | "Unknown"
        destinationUid: destination.uid | "Unknown"
        destinationOwner: destination.owner | "Unknown"
        destinationWorkloadName: destination.workload.name | "Unknown"
        destinationWorkloadNamespace: destination.workload.namespace | "Unknown"
        destinationServiceName: destination.service.name | "Unknown"
        destinationServiceNamespace: destination.service.namespace | "Unknown"
        apiProtocol: api.protocol | "Unknown"
        contextProtocol: context.protocol | "Unknown"

Field | Type | Description | Required
--- | --- | --- | ---
`timestamp` | `TimeStamp` | Timestamp of the edge | No
`sourceWorkloadNamespace` | `string` | Namespace of the source workload | No
`sourceWorkloadName` | `string` | Name of the source workload | No
`sourceOwner` | `string` | Owner of the source workload (often k8s deployment) | No
`sourceUid` | `string` | UID of the source workload | No
`destinationWorkloadNamespace` | `string` | Namespace of the destination workload | No
`destinationWorkloadName` | `string` | Name of the destination workload | No
`destinationOwner` | `string` | Owner of the destination workload (often k8s deployment) | No
`destinationUid` | `string` | UID of the destination workload | No
`destinationServiceNamespace` | `string` | Namespace of the destination Service | No
`destinationServiceName` | `string` | Name of the destination Service | No
`contextProtocol` | `string` | Protocol used for communication (http, tcp) | No
`apiProtocol` | `string` | The protocol type of the API call (http, https, grpc) | No