mirror of
https://github.com/hanzoai/traces.git
synced 2026-10-30 18:20:41 +00:00
* update otel * update otel-collector-contrib * rollback upgrade of jaegerreceiver and kafkareceiver * fix go.sum * update opentelemetry-collector-contrib and jaegertracing * fix factory initialization * fix e2e * use the new jaeger definitions * fix factory initialization for otelexporter * use proper prefix * fix metric matcher for integration tests * changelog
36 lines
987 B
Go
36 lines
987 B
Go
// Copyright (c) 2019 The Jaeger Authors.
|
|
// Copyright (c) 2017 Uber Technologies, Inc.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package model
|
|
|
|
import (
|
|
"io"
|
|
)
|
|
|
|
// NewProcess creates a new Process for given serviceName and tags.
|
|
// The tags are sorted in place and kept in the same array/slice,
|
|
// in order to store the Process in a canonical form that is relied
|
|
// upon by the Equal and Hash functions.
|
|
func NewProcess(serviceName string, tags []KeyValue) *Process {
|
|
typedTags := KeyValues(tags)
|
|
typedTags.Sort()
|
|
return &Process{ServiceName: serviceName, Tags: typedTags}
|
|
}
|
|
|
|
// Equal compares Process object with another Process.
|
|
func (p *Process) Equal(other *Process) bool {
|
|
if p.ServiceName != other.ServiceName {
|
|
return false
|
|
}
|
|
return KeyValues(p.Tags).Equal(other.Tags)
|
|
}
|
|
|
|
// Hash implements Hash from Hashable.
|
|
func (p *Process) Hash(w io.Writer) (err error) {
|
|
if _, err := w.Write([]byte(p.ServiceName)); err != nil {
|
|
return err
|
|
}
|
|
return KeyValues(p.Tags).Hash(w)
|
|
}
|