Giter Club home page Giter Club logo

webdriver_exporter's Issues

Useful recording rules

Hello Matt,
Just wanted to mention that this project is awesome!
I was starting to writing something similar but in Ruby, are you going to continue the dev on this?

Is there any plans on removing the redirect limitation (Requires exact URL as target)?

Here are some recording rules that I am currently using:

# Web Official https://www.w3.org/TR/navigation-timing/
instance:web:backEnd:seconds = navigation_timing_response_start_seconds{job="webdriver"} - navigation_timing_start_seconds{job="webdriver"}
instance:web:domContentLoaded:seconds = navigation_timing_dom_content_loaded_event_start_seconds{job="webdriver"} - navigation_timing_start_seconds{job="webdriver"}
instance:web:domInteractive:seconds = navigation_timing_dom_interactive_seconds{job="webdriver"} - navigation_timing_start_seconds{job="webdriver"}
instance:web:domainLookup:seconds = navigation_timing_domain_lookup_end_seconds{job="webdriver"} - navigation_timing_domain_lookup_start_seconds{job="webdriver"}
instance:web:frontEnd:seconds = navigation_timing_load_event_start_seconds{job="webdriver"} - navigation_timing_response_end_seconds{job="webdriver"}
instance:web:pageDownload:seconds = navigation_timing_response_end_seconds{job="webdriver"} - navigation_timing_response_start_seconds{job="webdriver"}
instance:web:pageLoad:seconds = navigation_timing_load_event_start_seconds{job="webdriver"} - navigation_timing_start_seconds{job="webdriver"}
instance:web:redirection:seconds = navigation_timing_fetch_start_seconds{job="webdriver"} - navigation_timing_start_seconds{job="webdriver"}
instance:web:serverConnection:seconds = navigation_timing_connect_end_seconds{job="webdriver"} - navigation_timing_connect_start_seconds{job="webdriver"}

# Web Other
instance:web:latency:seconds = navigation_timing_response_start_seconds{job="webdriver"} - navigation_timing_fetch_start_seconds{job="webdriver"}
instance:web:transfer:seconds = navigation_timing_response_end_seconds{job="webdriver"} - navigation_timing_response_start_seconds{job="webdriver"}
instance:web:domProcessingInteractive:seconds = navigation_timing_dom_interactive_seconds{job="webdriver"} - navigation_timing_dom_loading_seconds{job="webdriver"}
instance:web:domProcessingComplete:seconds = navigation_timing_dom_complete_seconds{job="webdriver"} - navigation_timing_dom_interactive_seconds{job="webdriver"}
instance:web:onLoad:seconds = navigation_timing_load_event_end_seconds{job="webdriver"} - navigation_timing_load_event_start_seconds{job="webdriver"}

By the way, I made this all work in a docker container if your interested I could share the setup

stability status

Can anyone comment on the stability of this software? Looks like the last commit was 10 months ago. Has anyone been running this exporter continuously for this long?

when i run the binary file webdriver, show error

ERRO[0640] failed to retrieve URL: unexpected response: {"sessionId":"206432afec3ba164339100d1b83283fb","status":6,"value":{"message":"invalid session id\n (Driver info: chromedriver=2.45.615279 (12b89733300bd268cff3b78fc76cb8f3a7cc44e5),platform=Linux 4.4.0-117-generic x86_64)"}} source=probe.go:71

and my prometheus.yml is ๏ผš
"""

  • job_name: 'webdriver'
    metrics_path: /probe
    static_configs:
    • targets:
    • source_labels: [address]
      regex: (.*)(:80)?
      target_label: __param_target
      replacement: ${1}
    • source_labels: [__param_target]
      regex: (.*)
      target_label: instance
      replacement: ${1}
    • source_labels: []
      regex: .*
      target_label: address
      replacement: 127.0.0.1:9156 # WebDriver Exporter
      """

Hmm, at least now you appear to have the exporter working. I'd suggest opening a separate issue for this

Hmm, at least now you appear to have the exporter working. I'd suggest opening a separate issue for this

Originally posted by @benridley in #7 (comment)

Is it related to chrome driver issues as it is not scraping the values
Hi,
We tried with chrome driver and facing issues like this when we run the curl
-bash-4.2$ curl http://localhost:9156/probe?target=https://google.com
probe_duration_seconds 0.031578
probe_success 0

-bash-4.2$ ./webdriver_exporter
INFO[0000] Starting webdriver_exporter (version=0.0.2, branch=, revision=) sour ce=main.go:50
INFO[0000] Build context (go=go1.6.3, user=, date=) source=main.go:51
INFO[0000] Starting webdriver source=main.go:69
INFO[0000] Listening on localhost:9156 source=main.go:76
ERRO[0272] failed to retrieve URL: unexpected response: {"sessionId":"8b2eebfced 6859a6d36d1c49c5a4ee99","status":6,"value":{"message":"no such session\n (Drive r info: chromedriver=2.40.565383 (76257d1ab79276b2d53ee976b2c3e3b9f335cde7),plat form=Linux 4.14.35-1911.el7uek.x86_64 x86_64)"}} source=probe.go:71

Error with chromedriver on scraping

Hi,

Thanks for your work on this exporter. I got this error when I tried to curl this url curl http://localhost:9156/probe\?target\=https://prometheus.io/ :

ERRO[0024] failed to retrieve URL: unexpected response: {"sessionId":"9a00b5ced6cfe589a2252bb67544e545","status":6,"value":{"message":"no such session\n (Driver info: chromedriver=2.22.397932 (282ed7cf89cf0053b6542e0d0f039d4123bbb6ad),platform=Linux 3.16.0-4-amd64 x86_64)"}} source=probe.go:45

I am using the latest chromedriver http://chromedriver.storage.googleapis.com/index.html?path=2.22/ and I have built your exporter with GO 1.6.2.

Do you know what happen? I have zero knowledge of chromedriver :D

Regards,

Laurent

What flags do we need to pass while building

We are getting the below issues while building
NFO[0000] Starting webdriver_exporter (version=0.0.2, branch=, revision=) source=main.go:50
INFO[0000] Build context (go=go1.6.3, user=, date=) source=main.go:51
INFO[0000] Starting webdriver source=main.go:69
FATA[0000] failed to start webdriver: failed to start service: failed to run command: exec: "chromedriver": executable file not found in $PATH source=main.go:72

Appreciate your help on this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.