/send 404 에러
156
3 asked
안녕하세요,
gin 서버를 실행하고
curl -X GET localhost:8080/send
명령어를 실행하면 404 page not found 에러가 나옵니다.
어떤 부분이 문제인지 모르겠어 깃허브 주소 남깁니다.
확인해주시면 감사하겠습니다.
https://github.com/bonzonkim/trace-in-go
감사합니다.
Answer 2
0
안녕하세요!
말씀하신 NewRouter를 호출해서 서버 구동 시 router path도 확인하고 get요청을 했고 Success가 응답되는것 까지 확인했습니다. 하지만 Jaeger UI에서 등록한 서비스가 나오지 않습니다.

코드상 놓친부분이 있을까요? 도커 명령어는 docker run -d -p6831:6831/udp -p16686:16686 --name myJaeger jaegertracing/all-in-one:latest 로 실행했습니다.
0
안녕하세요. 질문남겨주셔서 감사합니다!!
서비스가 등록이 되지 않는 이유는 다양하게 존재 할 수 있습니다. 대표적으로 접속을 시도하는 url이 잘못되었으면 서비스가 등록이 안되는 경우가 있고
추가적으로 조금 시간이 소요가 되는 경우도 있습니다. 1분 내지겠지만
코드상에서는 큰 이상한 부분이 보이지 금일 저녁에 한번 확인후에 다시 댓글 추가하겠습니다.
0
구체적인 부분은 한번 추가로 확인을 해봐야 하겠지만
func newRootSpan(name string, c *gin.Context) opentracing.Span {
tracer := opentracing.GlobalTracer()
spanCtx, _ := tracer.Extract(opentracing.HTTPHeaders, opentracing.HTTPHeadersCarrier(c.Request.Header))
sendSpan := tracer.StartSpan(name, ext.RPCServerOption(spanCtx))
defer sendSpan.Finish()
return sendSpan
}
해당 코드에서 defer와 sendSpan을 return하는 부분에서 문제가 생길 수 있을꺼 같네요.
현재 API가 마무리 되지 않는 상태에서 span을 finish를 하는걸로 보입니다.
해당 코드를 동작시키기 보다는
func (s *sample) send(c *gin.Context) {
fmt.Println("Send")
tracer := opentracing.GlobalTracer()
spanCtx, _ := tracer.Extract(opentracing.HTTPHeaders, opentracing.HTTPHeadersCarrier(c.Request.Header))
sendSpan := tracer.StartSpan("send_span", ext.RPCServerOption(spanCtx))
defer sendSpan.Finish()
c.JSON(http.StatusOK, "Success Sample Span")
}
이런식으로 API가 마무리 된 이후에 Finish가 처리 가능하게 수정해보시면 될 꺼 같아요.
0
안녕하세요 빠른 답변 감사드립니다.
우선 말씀 하신대로 함수를 변경해 실행해보았지만 여전히 서비스에는 등록이 되지 않았습니다.

사용한 코드입니다
func (s *Router) send(c gin.Context) {
fmt.Println("=================Send=================")
tracer := opentracing.GlobalTracer()
spanCtx, _ := tracer.Extract(opentracing.HTTPHeaders, opentracing.HTTPHeadersCarrier(c.Request.Header))
sendSpan := tracer.StartSpan("send_span", ext.RPCServerOption(spanCtx))
defer sendSpan.Finish()
fmt.Println("=================Send1=================")
c.JSON(http.StatusOK, "Success Sample Span")
fmt.Println("=================Send2=================")
}혹시 도커 이미지 버전의 차이가 있을까요??
그리고 강의 섹션4 6강 3분50초쯤 send()안의 트레이싱 로직을 newRootSpan()으로 분리해서 재사용 한다고 하셨는데, 제가 작성한 코드와 강의속 코드에 다른부분이 있을까요??
docker compose에 대해 질문드립니다.
0
6
1
강사님 Sprint6 은 언제쯤 나오나요?
1
17
1
user-service jwt
0
32
2
애그리거트 질문있습니다!
0
31
2
JPA Repository 질문이 있습니다!
1
33
2
페이지네이션 처리를 쿼리에서 하는 방식 질문
1
36
1
DDD 는 마이바티스와 잘 맞지 않는건가요?
0
46
1
스프링부트 버전 문의드립니다.
0
38
1
디바이스 페어링 문의
0
32
2
yml 작성하다가 에러 발생해서 문의 드립니다.
0
39
2
(강의 6분 50초 부분) Workspace 안에 index.html이 비어있음
0
34
2
gRPC 실무에서 질문
0
35
2
섹션2. 1.5쿠버네티스_컨트롤플레인_노드와_워커_노드_그리고 kubeadm으로 쿠버네티스 직접 구성하기-v1.30 오류
0
36
2
강의순서가 바뀌어 있습니다.
0
36
1
설치수업중에 질문드립니다.
1
57
2
섹션 4의 14번 3개의 샘플파일
0
31
2
build.zip 퍄일이 없습니다.
0
41
1
18강 http리퀘스트 부분 오류
0
50
2
무중단 배포
0
58
2
workflows/deploy.yml 궁금증
0
53
2
Orchestration SAGA 패턴 보상에 대한 질문입니다.
0
51
2
6강 - 해시태그 모델의 샤딩 전략에 대하여, 분산 정도(데이터 편중)와 트랜잭션 성능의 trade off 상황 발생 시에 대한 고민
0
40
2
n8n 2.x 버전으로 섹션2부터 수업을 들어도 될까요?
0
46
2
33강 도커 빌드 강의의 docker file
0
35
1

