随着 Opentelemetry 成为跟踪的新标准,并且它与供应商无关,那么我们如何为 opentelemetry 选择后端供应商?
例如,目前有很多厂商支持 Opentelemetry,如 GCP Cloudtrace、Datadog、Dynatrace、Lightstep、Instana。您如何为 opentelemtry 选择供应商?或者根本没有关系,因为 opentelemetry 与云无关,我们可以选择最便宜的一个来存储我们的跟踪
dynatrace google-cloud-trace datadog open-telemetry lightstep
我试图在 go 中将头环绕在指针上。我这里有这个代码
package main
import (
"fmt"
)
// LinkedList type
type LinkedList struct {
data int
next *LinkedList
}
// InsertList will insert a item into the list
func (node *LinkedList) InsertList(data int) {
newHead := LinkedList{data, node}
node = &newHead
}
func main() {
node := &LinkedList{}
node.InsertList(4)
fmt.Printf("node = %+v\n", node)
}
Run Code Online (Sandbox Code Playgroud)
和输出是
node = &{data:0 next:<nil>}
Run Code Online (Sandbox Code Playgroud)
我想了解为什么node = &newHead我的 InsertList 方法根本没有将节点指针引用到不同的结构
在kubernetes 1.8中,例如,当我创建一个部署时
apiVersion: apps/v1beta2 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
Run Code Online (Sandbox Code Playgroud)
然后当我做一个
kubectl get deploy nginx-deployment -o yaml
Run Code Online (Sandbox Code Playgroud)
我有
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "1"
creationTimestamp: 2018-01-24T01:01:01Z
....
Run Code Online (Sandbox Code Playgroud)
为什么apiversion是extension / v1beta1而不是apiVersion:apps / v1beta2