#[non_exhaustive]pub struct GcpResourceAttributes {Show 16 fields
pub cloud_account_id: String,
pub cloud_platform: Option<String>,
pub cloud_region: Option<String>,
pub cloud_availability_zone: Option<String>,
pub host_id: Option<String>,
pub host_name: Option<String>,
pub host_type: Option<String>,
pub gce_instance_name: Option<String>,
pub gce_instance_hostname: Option<String>,
pub gce_instance_group_manager_name: Option<String>,
pub gce_instance_group_manager_region: Option<String>,
pub gce_instance_group_manager_zone: Option<String>,
pub k8s_cluster_name: Option<String>,
pub faas_name: Option<String>,
pub faas_version: Option<String>,
pub faas_instance: Option<String>,
}Expand description
Resource attributes for a detected GCP environment.
Fields map to OpenTelemetry semantic conventions for cloud, host, Kubernetes, FaaS, and GCP-specific resource attributes. Which fields are populated depends on the detected platform; see the attribute matrix.
Marked #[non_exhaustive] so new fields (e.g. GCE instance labels) can be
added in future minor versions without breaking callers.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.cloud_account_id: Stringcloud.account.id: GCP project ID.
cloud_platform: Option<String>cloud.platform:
e.g. gcp_compute_engine, gcp_kubernetes_engine, gcp_cloud_run.
cloud_region: Option<String>cloud.region:
e.g. us-central1. Derived from zone on GCE, from cluster-location on GKE.
cloud_availability_zone: Option<String>cloud.availability_zone:
e.g. us-central1-a. Set on GCE and zonal GKE clusters.
host_id: Option<String>host.id:
GCE instance ID. Set on GCE and GKE.
host_name: Option<String>host.name:
GCE instance name. Set on GCE and GKE.
host_type: Option<String>host.type:
machine type (e.g. projects/123/machineTypes/e2-medium). Set on GCE and GKE.
gce_instance_name: Option<String>gcp.gce.instance.name:
instance name visible in the Cloud Console.
gce_instance_hostname: Option<String>gcp.gce.instance.hostname:
full default or custom hostname.
gce_instance_group_manager_name: Option<String>gcp.gce.instance_group_manager.name: MIG name, parsed from the
created-by instance attribute.
gce_instance_group_manager_region: Option<String>gcp.gce.instance_group_manager.region: set for regional MIGs.
gce_instance_group_manager_zone: Option<String>gcp.gce.instance_group_manager.zone: set for zonal MIGs.
k8s_cluster_name: Option<String>k8s.cluster.name:
GKE cluster name from the cluster-name instance attribute. Only set on GKE.
faas_name: Option<String>faas.name:
function or service name. Set on Cloud Run, Cloud Functions, and App Engine.
faas_version: Option<String>faas.version:
revision, version, or function target. Set on Cloud Run, Cloud Functions, and App Engine.
faas_instance: Option<String>faas.instance:
execution environment instance ID. Set on Cloud Run, Cloud Functions, and App Engine.
Trait Implementations§
Source§impl Clone for GcpResourceAttributes
impl Clone for GcpResourceAttributes
Source§fn clone(&self) -> GcpResourceAttributes
fn clone(&self) -> GcpResourceAttributes
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for GcpResourceAttributes
impl RefUnwindSafe for GcpResourceAttributes
impl Send for GcpResourceAttributes
impl Sync for GcpResourceAttributes
impl Unpin for GcpResourceAttributes
impl UnsafeUnpin for GcpResourceAttributes
impl UnwindSafe for GcpResourceAttributes
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request