Outline VPN: How to Access Performance Metrics?

Search for a command to run...

No comments yet. Be the first to comment.
Turned a messy Google Payments export into a reusable Codex skill. The main bug was duplicate month rows like Jan 27 vs Jan 27, 2025, which can make you export the wrong year if you click too fast. The skill now reuses the logged-in Chrome session, targets explicit-year rows only, resets the details pane, and verifies every image by date + transaction ID.
You want to generate HideMail aliases from Bitwarden app or browser extension? Easy. 1) In Bitwarden options for username generation select “Forwarded email alias”; 2) Select as service “Addy" 3) Enter as domain hidemail.app (in future you can add cu...
How to solve "Error: Google Sign-In failed: [16] Account reauth failed" issue
Hetzner's S3-compatible Object Storage provides a scalable and cost-effective solution for storing and retrieving large amounts of data. In this guide, we'll walk through the process of integrating Hetzner S3 Object Storage with a Laravel 11 applicat...

Or how to remember what social login I used on websites for "sign in" Managing social logins efficiently is crucial in today's digital world. But you can simplify this process using Bitwarden or any other password manager like 1password. Create a de...
Note: looking for a free Outline VPN? Try my bot: https://t.me/hidemail_vpn_bot
First, you need to open the Prometheus dashboard.
ssh ${YUOR_USERNAME}@${YOUR_SERVER} -L 9090:localhost:9090
Open https://localhost:9090/graph on your browser
Write the PromQL query you need. See the examples below.
By access key, protocol and direction
increase(shadowsocks_data_bytes[1d])
To aggregate by access key only:
sum(increase(shadowsocks_data_bytes[1d])) by (access_key)
This is the query used to calculate the usage for data limits (from manager_metrics.ts):
sum(increase(shadowsocks_data_bytes{dir=~"c<p|p>t"}[30d])) by (access_key)
By location, protocol and direction
increase(shadowsocks_data_bytes_per_location[1d])
sum(max(max_over_time(shadowsocks_data_bytes{access_key!=""} [1h])) by (access_key) > bool 0)
By access key, location and status
increase(shadowsocks_tcp_connections_closed[1d])
By location
increase(shadowsocks_tcp_connections_opened[1d])
Packets by location and status:
increase(shadowsocks_udp_packets_from_client_per_location[1d])
Associations (no breakdown):
increase(shadowsocks_udp_nat_entries_added[1d])
CPU usage by process:
rate(process_cpu_seconds_total[10m])
Memory by process:
process_virtual_memory_bytes
The full list of metrics provided by outline-ss-server can be found in its source code from line 61.
If you want, you also can get the same data with CURL (GET request), for example, to get data usage (in bytes) by specific access key (1) for the last day:
curl -g 'http://127.0.0.1:9090/api/v1/query?query=sum(increase(shadowsocks_data_bytes{access_key="1"}[1d]))by(access_key)'