I am working on a vertx application running some apis.
After following instructions mentioned under https://github.com/glowroot/glowroot/wiki/Central-Collector-Installation, I was not able to see any Web transaction data on glowroot central collector, here's what I tried.
I downloaded glowroot-central.jar, and after building the netty plugin from https://github.com/glowroot/glowroot/tree/master/agent/plugins/netty-plugin, placed it under plugins folder containing glowroot-central.jar file.
Next, started glowroot by calling "java -jar glowroot-central.jar"
And then passed in -javaagent:path/to/glowroot.jar to my JVM args of vertx application.
I was also able to confirm that my agent is able to connect to central collector from console output
Here's the output when I start my Vertx application, which confirms that agent is connecting to Central Collector
org.glowroot - Java version: 1.8.0_201 (Oracle Corporation / Mac OS X)
2019-04-05 12:31:43.988 INFO org.glowroot - Java args: -javaagent:/Users/somefolder/glowroot/glowroot.jar
org.glowroot - agent id: "testserver"
org.glowroot - connected to the central collector http://0.0.0.0:8181, version 0.13.2, built 2019-03-27 17:05:44 +0000
I am also able to see my agent's name which is "testserver" on glowroot web UI. However I can not see any web transaction data. I called my API, few hundred times to using an automated tool and waited few min (~30 min), but I don't see anything :(
Related
Setup:
test framework around latest WebdriverIO v.7
Jenkins on GCP: master - Ubuntu, slave - Windows Server 2022 VM.
connection between Jenkins master and slave is done with GCP jenkins plugin, so Windows slave is being created for test and then dies.
app under test: Electron v14.2.1 based app.
Test - "User can start screenshare"
User start a call.
User select an available screen and start a screenshare.
Problem:
Electron library can not detect available screen for capturing and sreensharing, because there is no RDP connection opened in test session.
In test logs no sources (screen) found:
2022-08-01 07:40:20:409 -00:00 | info | main-api-handler: - open-screen-picker-window - Properties: {
"cmd": "open-screen-picker-window",
"id": 1,
"sources": []
}
Questions:
How can the screen be emulated?
Where the RDP should be established? Should it?
Are there other way than RDP to provide the screen for the Electron app?
The problem was solved by my colleague:
"So the root cause of this issue is that the SSH server which Jenkins uses to configure the node runs as a service, and that means it has problems interacting with desktop apps. Unfortunately, Windows' own SSH server only runs as a service. More explanations here: Starting GUI programs via OpenSSH on Windows?
To resolve this, I installed a separate SSH server (OpenSSH from MSYS2). The machine image is configured to autologin on boot, and sshd is started on logon as the currently logged in user. This gives it access to the desktop, and screenshare tests now seem to work better"
I have three spring cloud stream applications that are used to build data pipes.
Product Service: It creates product with name, price, etc...
Discount Service: It decides discount for given product.
Courier Service: It takes a product and dispatches the given product.
The applications are in the Github GITHub
Software versions and applications are mentioned in README.md in GITHub page
1. Zookeeper log
2. Kafka Server log
3. Skipper Server log
4. Dataflow server log
5. Dataflow shell log
6. Product Service log
7. Discount Service log
8. Courier Service log
Stream Deployment Status
Apps runtime status
I am running all the instances on Microsoft Windows [Version 10.0.16299.1686] local machine without any dockers.
`Stream is created and deployed. It is always in DEPLOYING status even after few hours as shown in the picture.
I am not very sure what is wrong with it. Could anyone help here?`
For me, the solution was to add Actuator and Web Dependencies to the project. For more details, please see this post.
TL,DR; Log levels are ignored when making a Stackdriver logging API call using using a CloudLoggingHandler from a Docker container using the Google Cloud Logging driver.
Detail;
The recommended way to get logs from a Docker container running on Google's Compute Engine is to use the Stackdriver Logging Agent:
It is a best practice to run the Stackdriver Logging agent on all your
VM instances. The agent runs under both Linux and Windows. To install
the Stackdriver Logging agent, see Installing the Logging Agent.
The following steps were completed successfully:
Ensure Compute Engine default service account has Editor and Logs Writer roles.
Ensure the VM instance has Cloud API access scope for Stackdriver Logging API (Full)
Install and start Stackdriver Logging Agent.
I then copied the example CloudLoggingHandler example from Google's Cloud Platform Python docs.
import logging
import google.cloud.logging
from google.cloud.logging.handlers import CloudLoggingHandler
client = google.cloud.logging.Client()
handler = CloudLoggingHandler(client)
cloud_logger = logging.getLogger('cloudLogger')
cloud_logger.setLevel(logging.INFO)
cloud_logger.addHandler(handler)
cloud_logger.error('bad news error')
cloud_logger.warning('bad news warning')
cloud_logger.info('bad news info')
The Docker container is started with the Google Cloud Logging Driver flag (--log-driver=gcplogs):
sudo docker run --log-driver=gcplogs --name=server gcr.io/my-project/server:latest
This works, however all logs, irrespective of level are only visible in Stackdriver when viewing 'Any log level'. Strangely, the message itself contains the level:
2018-08-22 22:34:42.176 BST
ERROR:bad news error
2018-08-22 22:34:42.176 BST
WARNING:bad news warning
2018-08-22 22:34:42.176 BST
WARNING:bad news info
This makes it impossible to filter by level in the Stackdriver UI:
In the screenshot below, all icons on the LHS of every log entry show the level as Any:
From what I can tell, the CloudLoggingHandler is a standalone handler that sends logs to the Global log level. To integrate with gcplogs driver properly, try using the ContainerEngineHandler
I will shortly try to explain what I am trying to do here. I need to periodically check the response time of the my site by logging into the system and noting the time to load the welcome page.
I am doing this using Selenium WebDriver and Java. I am currently checking the response time using the org.apache.commons.lang3.time.StopWatch which start when user hits the login button and stops when welcome page renders completely. I check weather this response time is above threshold level and send mail to admin alerting him in case of slow response of system.
Currently, I have created the executable jar file which opens the web browser using Selenium WebDriver and check the response time. I have also created the job in Jenkins using DOS commands which runs periodically using cron schedular. This I'm doing in my Windows 7 pc and I have Jenkins installed on my localhost. The scheduled job builds on Jenkins periodically but I can't see any activity like opening the web browser and the further task explained above. It runs perfectly when I use windows scheduler to execute batch file. The ultimate goal I have, is to run the Selenium WebDriver tests on the Linux system via jenkins while Jenkins server has been installed on a Linux machine.
Any help will be great! Also let me know if anybody wants to see the code.
I have followed this link to run Selenium Server as a windows service: http://www.claytonstechnobabble.com/2011/08/run-any-application-as-windows-service.html
The service gets installed successfully but when I try to run it it gives error:
"The SeleniumRC service on Local Computer started and then stopped. Some services stop automatically if they are not in use by other services or programs."
can you guys help me on that asap? what am I missing?
This is the selenium server file that I am trying to run: "selenium-server-standalone-2.5.0.jar"
Ali, you might try capturing the output from the service. Since the Java app is designed to be run in console mode, there is likely to be some useful explanation if you can capture std out and std err. Running the service with a wrapper like Java Service Launcher will provide that functionality to log the error information: http://jslwin.sourceforge.net/
Create a bat file containing
//cd Location of file
java -jar selenium-server-standalone-2.5.0.jar
then use this bat file to execute in service.