pinpoint-apm / pinpoint

APM, (Application Performance Management) tool for large-scale distributed systems.
https://pinpoint-apm.gitbook.io/
Apache License 2.0
13.29k stars 3.75k forks source link

pinpoint does not support spring cloud gateway ? #5267

Open deanjo opened 5 years ago

deanjo commented 5 years ago

Hello, I found in use that pinpoint could not collect data from the SPIRNG Cloud Gateway project (Spring Cloud Gateway is a gateway service through which all requests are routed to specific microservices with an official address of Https://spring.io/projects/spring-cloud-gateway). But for the spring boot project, it can be collected.

RoySRose commented 5 years ago

@dean-hu

You got it right~ Would be great if you can contribute a plug-in on this :)

deanjo commented 5 years ago

@dean-hu

You got it right~ Would be great if you can contribute a plug-in on this :)

Yeah I understand very much your reply. I really want to provide such a plugin to support the spring cloud gateway, but I still don't know how to do it. Do you intend to implement this function in the near future?

RoySRose commented 5 years ago

@dean-hu

Currently, we don't have any plans for it. Most of the team members are planned to focus on something else for this year.

Developing a plug-in isn't so complicated. You can start from here It may look like there is a lot to understand before you can start. But eventually, it's just to find where to instrument.

qingmu-io commented 5 years ago

I also need this plugin~

oatiz commented 5 years ago

+1, also need this plugin~

crab890715 commented 5 years ago

+1, also need this plugin~

jasoncool520 commented 4 years ago

+1, also need this plugin~

zhgui commented 4 years ago

I also need this plugin~

geek-lwh commented 4 years ago

I also need this plugin~

armstrongwang5178 commented 4 years ago

I also need this plugin~ When can I monitor the gateway??

guoyuzhuang commented 3 years ago

+1, also need this plugin~

guoyuzhuang commented 3 years ago

Hello, I found in use that pinpoint could not collect data from the SPIRNG Cloud Gateway project (Spring Cloud Gateway is a gateway service through which all requests are routed to specific microservices with an official address of Https://spring.io/projects/spring-cloud-gateway). But for the spring boot project, it can be collected.

Have you solved the problem? How was it solved? Can you share it? My email is guoyuzhuang@126.com ,Looking forward to your reply

SoonhyukYoon commented 3 years ago

+1, also need this plugin~

InkTeam commented 2 years ago

+1, also need this plugin~

cailumin commented 2 years ago

+1, also need this plugin~

maxuewen commented 2 years ago

+1, also need this plugin~

Wooni-sj commented 2 years ago

+1, also still need this plugin~

mofazhiku commented 10 months ago

+10086, also still need this plugin~

emeroad commented 10 months ago

Pinpoint already supports spring cloud gateway. Since spring cloud gateway uses webflux, Webflux support means support of spring cloud gateway.

seoah-lab commented 10 months ago

I'm used spring-cloud-starter-gateway:3.1.6 but pinpoint not support transaction and not collect data. What settings should I add? @emeroad

seoah-lab commented 10 months ago

Self-answer I used undertow. maybe some setting for undertow. netty is support! let's check webserver :see_no_evil:

emeroad commented 10 months ago

See webflux configuration below. https://github.com/pinpoint-apm/pinpoint/tree/master/plugins/spring-webflux

Robot1024 commented 9 months ago

@emeroad the version of pinpoint master 2.5.1

user ---> appA ----> spring cloud gateway(filter) ---->appB

use pinpoint to monitor spring cloud gateway、appB

the display spring cloud gateway have data , but appB no data .

if i request by browser to appB , then appB has the data.

The prinpoint.config

###########################################################

Spring WebFlux

########################################################### profiler.spring.webflux.enable=true

Client

If you are not using Reactor-Netty, set it to true.

profiler.spring.webflux.client.enable=true

Record Parameter.

profiler.spring.webflux.client.param=true

Record cookies.

profiler.spring.webflux.client.cookie=true

When cookies should be dumped. It could be ALWAYS or EXCEPTION.

profiler.spring.webflux.client.cookie.dumptype=ALWAYS

out of n cookies will be sampled where n is the rate. (1: 100%)

profiler.spring.webflux.client.cookie.sampling.rate=1

Cookie dump size.

profiler.spring.webflux.client.cookie.dumpsize=1024


###########################################################

Reactor Netty

########################################################### profiler.reactor-netty.enable=true

Classes for detecting application server type. Comma separated list of fully qualified class names. Wildcard not supported.

profiler.reactor-netty.server.bootstrap.main=

use an asynchronous endpoint.

profiler.reactor-netty.server.end-point.async.enable=true

trace param in request ,default value is true

profiler.reactor-netty.server.tracerequestparam=true

URLs to exclude from tracing.

Support ant style pattern. e.g. /aa/*.html, /??/exclude.html

profiler.reactor-netty.server.excludeurl=

HTTP Request methods to exclude from tracing

profiler.reactor-netty.server.excludemethod=

original IP address header

https://en.wikipedia.org/wiki/X-Forwarded-For

profiler.reactor-netty.server.realipheader=X-Forwarded-For

nginx real ip header

profiler.reactor-netty.server.realipheader=X-Real-IP

optional parameter, If the header value is ${profiler.reactor-netty.realipemptyvalue}, Ignore header value.

profiler.reactor-netty.server.realipemptyvalue=unknown


###########################################################

Netty

###########################################################

recommend netty plugin disable, when using VERTX.

profiler.netty=true profiler.netty.http=true

profiler.netty.http.param=true

use channel.close()

profiler.netty.channel.close=true