func()

in xray/segment.go [584:609]


func (seg *Segment) AddAnnotation(key string, value interface{}) error {
	// If SDK is disabled then return
	if SdkDisabled() {
		return nil
	}

	seg.Lock()
	defer seg.Unlock()

	// If segment is dummy we return
	if seg.Dummy {
		return nil
	}

	switch value.(type) {
	case bool, int, uint, float32, float64, string:
	default:
		return fmt.Errorf("failed to add annotation key: %q value: %q to subsegment %q. value must be of type string, number or boolean", key, value, seg.Name)
	}

	if seg.Annotations == nil {
		seg.Annotations = map[string]interface{}{}
	}
	seg.Annotations[key] = value
	return nil
}