Skip to content
This repository was archived by the owner on Jun 14, 2023. It is now read-only.
This repository was archived by the owner on Jun 14, 2023. It is now read-only.

[Broken] CROSS_PROCESS #143

Description

@Struggleee

我在追蹤grpc service,
當我沒加sleep時會出現 [Broken] CROSS_PROCESS

func sendRequest(client hello.HelloClient) {
	ctx := context.Background()
	exSpan, err := tracer.CreateExitSpan(ctx, "grpc-server", "grpc-server-domain:5051", func(headerKey, headerValue string) error {
		ctx = metadata.AppendToOutgoingContext(ctx, headerKey, headerValue)
		return nil
	})
	if err != nil {
		log.Fatalln(err)
	}
	exSpan.SetComponent(23)
	exSpan.SetSpanLayer(2)
	req := &hello.HelloRequest{
		Value: "test",
	}
	res, err := client.Hello(ctx, req)
	if err != nil {
		log.Fatalln(err)
	}
	exSpan.End()
	log.Println(res.Value)
}

image
image

當我加sleep 200ms 在 span.End()之後時,就正常運作。

func sendRequest(client hello.HelloClient) {
	fmt.Println("Starting to do a RPC")
	ctx := context.Background()
	exSpan, err := tracer.CreateExitSpan(ctx, "grpc-server", "grpc-server-domain:5051", func(headerKey, headerValue string) error {
		ctx = metadata.AppendToOutgoingContext(ctx, headerKey, headerValue)
		return nil
	})
	if err != nil {
		log.Fatalln(err)
	}
	exSpan.SetComponent(23)
	exSpan.SetSpanLayer(2)
	req := &hello.HelloRequest{
		Value: "test",
	}
	res, err := client.Hello(ctx, req)
	if err != nil {
		log.Fatalln(err)
	}
	exSpan.End()
        time.Sleep(200 * time.Millisecond)
	log.Println(res.Value)
}

image
image

請問這是我寫法有問題嗎?
謝謝。

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionEnd user question and discussion.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions