v2

package
v0.6.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2019 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthTrace = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowTrace   = fmt.Errorf("proto: integer overflow")
)

Functions

This section is empty.

Types

type DatadogConfig

type DatadogConfig struct {
	// The cluster to use for submitting traces to the Datadog agent.
	CollectorCluster string `protobuf:"bytes,1,opt,name=collector_cluster,json=collectorCluster,proto3" json:"collector_cluster,omitempty"`
	// The name used for the service when traces are generated by envoy.
	ServiceName          string   `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Configuration for the Datadog tracer.

func (*DatadogConfig) Descriptor

func (*DatadogConfig) Descriptor() ([]byte, []int)

func (*DatadogConfig) GetCollectorCluster

func (m *DatadogConfig) GetCollectorCluster() string

func (*DatadogConfig) GetServiceName

func (m *DatadogConfig) GetServiceName() string

func (*DatadogConfig) Marshal added in v0.6.3

func (m *DatadogConfig) Marshal() (dAtA []byte, err error)

func (*DatadogConfig) MarshalTo added in v0.6.3

func (m *DatadogConfig) MarshalTo(dAtA []byte) (int, error)

func (*DatadogConfig) ProtoMessage

func (*DatadogConfig) ProtoMessage()

func (*DatadogConfig) Reset

func (m *DatadogConfig) Reset()

func (*DatadogConfig) Size added in v0.6.3

func (m *DatadogConfig) Size() (n int)

func (*DatadogConfig) String

func (m *DatadogConfig) String() string

func (*DatadogConfig) Unmarshal added in v0.6.3

func (m *DatadogConfig) Unmarshal(dAtA []byte) error

func (*DatadogConfig) Validate

func (m *DatadogConfig) Validate() error

Validate checks the field values on DatadogConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*DatadogConfig) XXX_DiscardUnknown added in v0.6.3

func (m *DatadogConfig) XXX_DiscardUnknown()

func (*DatadogConfig) XXX_Marshal added in v0.6.3

func (m *DatadogConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DatadogConfig) XXX_Merge added in v0.6.3

func (m *DatadogConfig) XXX_Merge(src proto.Message)

func (*DatadogConfig) XXX_Size added in v0.6.3

func (m *DatadogConfig) XXX_Size() int

func (*DatadogConfig) XXX_Unmarshal added in v0.6.3

func (m *DatadogConfig) XXX_Unmarshal(b []byte) error

type DatadogConfigValidationError

type DatadogConfigValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

DatadogConfigValidationError is the validation error returned by DatadogConfig.Validate if the designated constraints aren't met.

func (DatadogConfigValidationError) Error

Error satisfies the builtin error interface

type DynamicOtConfig

type DynamicOtConfig struct {
	// Dynamic library implementing the `OpenTracing API
	// <https://github.com/opentracing/opentracing-cpp>`_.
	Library string `protobuf:"bytes,1,opt,name=library,proto3" json:"library,omitempty"`
	// The configuration to use when creating a tracer from the given dynamic
	// library.
	Config               *types.Struct `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

DynamicOtConfig is used to dynamically load a tracer from a shared library that implements the `OpenTracing dynamic loading API <https://github.com/opentracing/opentracing-cpp>`_.

func (*DynamicOtConfig) Descriptor

func (*DynamicOtConfig) Descriptor() ([]byte, []int)

func (*DynamicOtConfig) GetConfig

func (m *DynamicOtConfig) GetConfig() *types.Struct

func (*DynamicOtConfig) GetLibrary

func (m *DynamicOtConfig) GetLibrary() string

func (*DynamicOtConfig) Marshal added in v0.5.0

func (m *DynamicOtConfig) Marshal() (dAtA []byte, err error)

func (*DynamicOtConfig) MarshalTo added in v0.5.0

func (m *DynamicOtConfig) MarshalTo(dAtA []byte) (int, error)

func (*DynamicOtConfig) ProtoMessage

func (*DynamicOtConfig) ProtoMessage()

func (*DynamicOtConfig) Reset

func (m *DynamicOtConfig) Reset()

func (*DynamicOtConfig) Size added in v0.5.0

func (m *DynamicOtConfig) Size() (n int)

func (*DynamicOtConfig) String

func (m *DynamicOtConfig) String() string

func (*DynamicOtConfig) Unmarshal added in v0.5.0

func (m *DynamicOtConfig) Unmarshal(dAtA []byte) error

func (*DynamicOtConfig) Validate

func (m *DynamicOtConfig) Validate() error

Validate checks the field values on DynamicOtConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*DynamicOtConfig) XXX_DiscardUnknown added in v0.5.0

func (m *DynamicOtConfig) XXX_DiscardUnknown()

func (*DynamicOtConfig) XXX_Marshal added in v0.5.0

func (m *DynamicOtConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DynamicOtConfig) XXX_Merge added in v0.5.0

func (m *DynamicOtConfig) XXX_Merge(src proto.Message)

func (*DynamicOtConfig) XXX_Size added in v0.5.0

func (m *DynamicOtConfig) XXX_Size() int

func (*DynamicOtConfig) XXX_Unmarshal added in v0.5.0

func (m *DynamicOtConfig) XXX_Unmarshal(b []byte) error

type DynamicOtConfigValidationError

type DynamicOtConfigValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

DynamicOtConfigValidationError is the validation error returned by DynamicOtConfig.Validate if the designated constraints aren't met.

func (DynamicOtConfigValidationError) Error

Error satisfies the builtin error interface

type LightstepConfig

type LightstepConfig struct {
	// The cluster manager cluster that hosts the LightStep collectors.
	CollectorCluster string `protobuf:"bytes,1,opt,name=collector_cluster,json=collectorCluster,proto3" json:"collector_cluster,omitempty"`
	// File containing the access token to the `LightStep
	// <https://lightstep.com/>`_ API.
	AccessTokenFile      string   `protobuf:"bytes,2,opt,name=access_token_file,json=accessTokenFile,proto3" json:"access_token_file,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Configuration for the LightStep tracer.

func (*LightstepConfig) Descriptor

func (*LightstepConfig) Descriptor() ([]byte, []int)

func (*LightstepConfig) GetAccessTokenFile

func (m *LightstepConfig) GetAccessTokenFile() string

func (*LightstepConfig) GetCollectorCluster

func (m *LightstepConfig) GetCollectorCluster() string

func (*LightstepConfig) Marshal added in v0.5.0

func (m *LightstepConfig) Marshal() (dAtA []byte, err error)

func (*LightstepConfig) MarshalTo added in v0.5.0

func (m *LightstepConfig) MarshalTo(dAtA []byte) (int, error)

func (*LightstepConfig) ProtoMessage

func (*LightstepConfig) ProtoMessage()

func (*LightstepConfig) Reset

func (m *LightstepConfig) Reset()

func (*LightstepConfig) Size added in v0.5.0

func (m *LightstepConfig) Size() (n int)

func (*LightstepConfig) String

func (m *LightstepConfig) String() string

func (*LightstepConfig) Unmarshal added in v0.5.0

func (m *LightstepConfig) Unmarshal(dAtA []byte) error

func (*LightstepConfig) Validate

func (m *LightstepConfig) Validate() error

Validate checks the field values on LightstepConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*LightstepConfig) XXX_DiscardUnknown added in v0.5.0

func (m *LightstepConfig) XXX_DiscardUnknown()

func (*LightstepConfig) XXX_Marshal added in v0.5.0

func (m *LightstepConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LightstepConfig) XXX_Merge added in v0.5.0

func (m *LightstepConfig) XXX_Merge(src proto.Message)

func (*LightstepConfig) XXX_Size added in v0.5.0

func (m *LightstepConfig) XXX_Size() int

func (*LightstepConfig) XXX_Unmarshal added in v0.5.0

func (m *LightstepConfig) XXX_Unmarshal(b []byte) error

type LightstepConfigValidationError

type LightstepConfigValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

LightstepConfigValidationError is the validation error returned by LightstepConfig.Validate if the designated constraints aren't met.

func (LightstepConfigValidationError) Error

Error satisfies the builtin error interface

type TraceServiceConfig

type TraceServiceConfig struct {
	// The upstream gRPC cluster that hosts the metrics service.
	GrpcService          *core.GrpcService `protobuf:"bytes,1,opt,name=grpc_service,json=grpcService,proto3" json:"grpc_service,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

Configuration structure.

func (*TraceServiceConfig) Descriptor

func (*TraceServiceConfig) Descriptor() ([]byte, []int)

func (*TraceServiceConfig) GetGrpcService

func (m *TraceServiceConfig) GetGrpcService() *core.GrpcService

func (*TraceServiceConfig) Marshal added in v0.5.0

func (m *TraceServiceConfig) Marshal() (dAtA []byte, err error)

func (*TraceServiceConfig) MarshalTo added in v0.5.0

func (m *TraceServiceConfig) MarshalTo(dAtA []byte) (int, error)

func (*TraceServiceConfig) ProtoMessage

func (*TraceServiceConfig) ProtoMessage()

func (*TraceServiceConfig) Reset

func (m *TraceServiceConfig) Reset()

func (*TraceServiceConfig) Size added in v0.5.0

func (m *TraceServiceConfig) Size() (n int)

func (*TraceServiceConfig) String

func (m *TraceServiceConfig) String() string

func (*TraceServiceConfig) Unmarshal added in v0.5.0

func (m *TraceServiceConfig) Unmarshal(dAtA []byte) error

func (*TraceServiceConfig) Validate

func (m *TraceServiceConfig) Validate() error

Validate checks the field values on TraceServiceConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*TraceServiceConfig) XXX_DiscardUnknown added in v0.5.0

func (m *TraceServiceConfig) XXX_DiscardUnknown()

func (*TraceServiceConfig) XXX_Marshal added in v0.5.0

func (m *TraceServiceConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TraceServiceConfig) XXX_Merge added in v0.5.0

func (m *TraceServiceConfig) XXX_Merge(src proto.Message)

func (*TraceServiceConfig) XXX_Size added in v0.5.0

func (m *TraceServiceConfig) XXX_Size() int

func (*TraceServiceConfig) XXX_Unmarshal added in v0.5.0

func (m *TraceServiceConfig) XXX_Unmarshal(b []byte) error

type TraceServiceConfigValidationError

type TraceServiceConfigValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

TraceServiceConfigValidationError is the validation error returned by TraceServiceConfig.Validate if the designated constraints aren't met.

func (TraceServiceConfigValidationError) Error

Error satisfies the builtin error interface

type Tracing

type Tracing struct {
	// Provides configuration for the HTTP tracer.
	Http                 *Tracing_Http `protobuf:"bytes,1,opt,name=http,proto3" json:"http,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

The tracing configuration specifies global settings for the HTTP tracer used by Envoy. The configuration is defined by the :ref:`Bootstrap <envoy_api_msg_config.bootstrap.v2.Bootstrap>` :ref:`tracing <envoy_api_field_config.bootstrap.v2.Bootstrap.tracing>` field. Envoy may support other tracers in the future, but right now the HTTP tracer is the only one supported.

func (*Tracing) Descriptor

func (*Tracing) Descriptor() ([]byte, []int)

func (*Tracing) GetHttp

func (m *Tracing) GetHttp() *Tracing_Http

func (*Tracing) Marshal added in v0.5.0

func (m *Tracing) Marshal() (dAtA []byte, err error)

func (*Tracing) MarshalTo added in v0.5.0

func (m *Tracing) MarshalTo(dAtA []byte) (int, error)

func (*Tracing) ProtoMessage

func (*Tracing) ProtoMessage()

func (*Tracing) Reset

func (m *Tracing) Reset()

func (*Tracing) Size added in v0.5.0

func (m *Tracing) Size() (n int)

func (*Tracing) String

func (m *Tracing) String() string

func (*Tracing) Unmarshal added in v0.5.0

func (m *Tracing) Unmarshal(dAtA []byte) error

func (*Tracing) Validate

func (m *Tracing) Validate() error

Validate checks the field values on Tracing with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Tracing) XXX_DiscardUnknown added in v0.5.0

func (m *Tracing) XXX_DiscardUnknown()

func (*Tracing) XXX_Marshal added in v0.5.0

func (m *Tracing) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Tracing) XXX_Merge added in v0.5.0

func (m *Tracing) XXX_Merge(src proto.Message)

func (*Tracing) XXX_Size added in v0.5.0

func (m *Tracing) XXX_Size() int

func (*Tracing) XXX_Unmarshal added in v0.5.0

func (m *Tracing) XXX_Unmarshal(b []byte) error

type TracingValidationError

type TracingValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

TracingValidationError is the validation error returned by Tracing.Validate if the designated constraints aren't met.

func (TracingValidationError) Error

func (e TracingValidationError) Error() string

Error satisfies the builtin error interface

type Tracing_Http

type Tracing_Http struct {
	// The name of the HTTP trace driver to instantiate. The name must match a
	// supported HTTP trace driver. Built-in trace drivers:
	//
	// - *envoy.lightstep*
	// - *envoy.zipkin*
	// - *envoy.dynamic.ot*
	// - *envoy.tracers.datadog*
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Trace driver specific configuration which depends on the driver being instantiated.
	// See the trace drivers for examples:
	//
	// - :ref:`LightstepConfig <envoy_api_msg_config.trace.v2.LightstepConfig>`
	// - :ref:`ZipkinConfig <envoy_api_msg_config.trace.v2.ZipkinConfig>`
	// - :ref:`DynamicOtConfig <envoy_api_msg_config.trace.v2.DynamicOtConfig>`
	// - :ref:`DatadogConfig <envoy_api_msg_config.trace.v2.DatadogConfig>`
	//
	// Types that are valid to be assigned to ConfigType:
	//	*Tracing_Http_Config
	//	*Tracing_Http_TypedConfig
	ConfigType           isTracing_Http_ConfigType `protobuf_oneof:"config_type"`
	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
	XXX_unrecognized     []byte                    `json:"-"`
	XXX_sizecache        int32                     `json:"-"`
}

func (*Tracing_Http) Descriptor

func (*Tracing_Http) Descriptor() ([]byte, []int)

func (*Tracing_Http) GetConfig deprecated

func (m *Tracing_Http) GetConfig() *types.Struct

Deprecated: Do not use.

func (*Tracing_Http) GetConfigType

func (m *Tracing_Http) GetConfigType() isTracing_Http_ConfigType

func (*Tracing_Http) GetName

func (m *Tracing_Http) GetName() string

func (*Tracing_Http) GetTypedConfig

func (m *Tracing_Http) GetTypedConfig() *types.Any

func (*Tracing_Http) Marshal added in v0.5.0

func (m *Tracing_Http) Marshal() (dAtA []byte, err error)

func (*Tracing_Http) MarshalTo added in v0.5.0

func (m *Tracing_Http) MarshalTo(dAtA []byte) (int, error)

func (*Tracing_Http) ProtoMessage

func (*Tracing_Http) ProtoMessage()

func (*Tracing_Http) Reset

func (m *Tracing_Http) Reset()

func (*Tracing_Http) Size added in v0.5.0

func (m *Tracing_Http) Size() (n int)

func (*Tracing_Http) String

func (m *Tracing_Http) String() string

func (*Tracing_Http) Unmarshal added in v0.5.0

func (m *Tracing_Http) Unmarshal(dAtA []byte) error

func (*Tracing_Http) Validate

func (m *Tracing_Http) Validate() error

Validate checks the field values on Tracing_Http with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Tracing_Http) XXX_DiscardUnknown added in v0.5.0

func (m *Tracing_Http) XXX_DiscardUnknown()

func (*Tracing_Http) XXX_Marshal added in v0.5.0

func (m *Tracing_Http) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Tracing_Http) XXX_Merge added in v0.5.0

func (m *Tracing_Http) XXX_Merge(src proto.Message)

func (*Tracing_Http) XXX_OneofFuncs added in v0.6.3

func (*Tracing_Http) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Tracing_Http) XXX_Size added in v0.5.0

func (m *Tracing_Http) XXX_Size() int

func (*Tracing_Http) XXX_Unmarshal added in v0.5.0

func (m *Tracing_Http) XXX_Unmarshal(b []byte) error

type Tracing_HttpValidationError

type Tracing_HttpValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

Tracing_HttpValidationError is the validation error returned by Tracing_Http.Validate if the designated constraints aren't met.

func (Tracing_HttpValidationError) Error

Error satisfies the builtin error interface

type Tracing_Http_Config

type Tracing_Http_Config struct {
	Config *types.Struct `protobuf:"bytes,2,opt,name=config,proto3,oneof"`
}

func (*Tracing_Http_Config) MarshalTo added in v0.6.3

func (m *Tracing_Http_Config) MarshalTo(dAtA []byte) (int, error)

func (*Tracing_Http_Config) Size added in v0.6.3

func (m *Tracing_Http_Config) Size() (n int)

type Tracing_Http_TypedConfig

type Tracing_Http_TypedConfig struct {
	TypedConfig *types.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
}

func (*Tracing_Http_TypedConfig) MarshalTo added in v0.6.3

func (m *Tracing_Http_TypedConfig) MarshalTo(dAtA []byte) (int, error)

func (*Tracing_Http_TypedConfig) Size added in v0.6.3

func (m *Tracing_Http_TypedConfig) Size() (n int)

type ZipkinConfig

type ZipkinConfig struct {
	// The cluster manager cluster that hosts the Zipkin collectors. Note that the
	// Zipkin cluster must be defined in the :ref:`Bootstrap static cluster
	// resources <envoy_api_field_config.bootstrap.v2.Bootstrap.StaticResources.clusters>`.
	CollectorCluster string `protobuf:"bytes,1,opt,name=collector_cluster,json=collectorCluster,proto3" json:"collector_cluster,omitempty"`
	// The API endpoint of the Zipkin service where the spans will be sent. When
	// using a standard Zipkin installation, the API endpoint is typically
	// /api/v1/spans, which is the default value.
	CollectorEndpoint string `protobuf:"bytes,2,opt,name=collector_endpoint,json=collectorEndpoint,proto3" json:"collector_endpoint,omitempty"`
	// Determines whether a 128bit trace id will be used when creating a new
	// trace instance. The default value is false, which will result in a 64 bit trace id being used.
	TraceId_128Bit bool `protobuf:"varint,3,opt,name=trace_id_128bit,json=traceId128bit,proto3" json:"trace_id_128bit,omitempty"`
	// Determines whether client and server spans will shared the same span id.
	// The default value is true.
	SharedSpanContext    *types.BoolValue `protobuf:"bytes,4,opt,name=shared_span_context,json=sharedSpanContext,proto3" json:"shared_span_context,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (*ZipkinConfig) Descriptor

func (*ZipkinConfig) Descriptor() ([]byte, []int)

func (*ZipkinConfig) GetCollectorCluster

func (m *ZipkinConfig) GetCollectorCluster() string

func (*ZipkinConfig) GetCollectorEndpoint

func (m *ZipkinConfig) GetCollectorEndpoint() string

func (*ZipkinConfig) GetSharedSpanContext

func (m *ZipkinConfig) GetSharedSpanContext() *types.BoolValue

func (*ZipkinConfig) GetTraceId_128Bit

func (m *ZipkinConfig) GetTraceId_128Bit() bool

func (*ZipkinConfig) Marshal added in v0.5.0

func (m *ZipkinConfig) Marshal() (dAtA []byte, err error)

func (*ZipkinConfig) MarshalTo added in v0.5.0

func (m *ZipkinConfig) MarshalTo(dAtA []byte) (int, error)

func (*ZipkinConfig) ProtoMessage

func (*ZipkinConfig) ProtoMessage()

func (*ZipkinConfig) Reset

func (m *ZipkinConfig) Reset()

func (*ZipkinConfig) Size added in v0.5.0

func (m *ZipkinConfig) Size() (n int)

func (*ZipkinConfig) String

func (m *ZipkinConfig) String() string

func (*ZipkinConfig) Unmarshal added in v0.5.0

func (m *ZipkinConfig) Unmarshal(dAtA []byte) error

func (*ZipkinConfig) Validate

func (m *ZipkinConfig) Validate() error

Validate checks the field values on ZipkinConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*ZipkinConfig) XXX_DiscardUnknown added in v0.5.0

func (m *ZipkinConfig) XXX_DiscardUnknown()

func (*ZipkinConfig) XXX_Marshal added in v0.5.0

func (m *ZipkinConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ZipkinConfig) XXX_Merge added in v0.5.0

func (m *ZipkinConfig) XXX_Merge(src proto.Message)

func (*ZipkinConfig) XXX_Size added in v0.5.0

func (m *ZipkinConfig) XXX_Size() int

func (*ZipkinConfig) XXX_Unmarshal added in v0.5.0

func (m *ZipkinConfig) XXX_Unmarshal(b []byte) error

type ZipkinConfigValidationError

type ZipkinConfigValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

ZipkinConfigValidationError is the validation error returned by ZipkinConfig.Validate if the designated constraints aren't met.

func (ZipkinConfigValidationError) Error

Error satisfies the builtin error interface

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL