## Description
- sample and log RPC read requests to grafana
- also minor changes for local dev
## Test plan
- local run
```
RUST_LOG=debug cargo run -- --config=sui-edge-proxy-config.yaml
```
- on a different terminal send read request
```
curl --silent --location --request POST '127.0.0.1:8080' \
--header 'Content-Type: application/json' \
--data-raw '{
"jsonrpc": "2.0",
"id": 1,
"method": "sui_getLatestCheckpointSequenceNumber",
"params": []
}'
{"jsonrpc":"2.0","result":"101391683","id":1}%
```
- then verify the log lines from console
```
2025-01-15T07:45:48.935759Z INFO sui_edge_proxy: Metrics server started at 127.0.0.1:9184
2025-01-15T07:45:48.936092Z INFO sui_edge_proxy: Starting server on 127.0.0.1:8080
2025-01-15T07:45:59.289424Z INFO sui_edge_proxy::handlers: Sampled read request headers={"host": "127.0.0.1:8080", "user-agent": "curl/8.7.1", "accept": "*/*", "content-type": "application/json", "content-length": "110"} body=b"{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"sui_getLatestCheckpointSequenceNumber\",\n \"params\": []\n}" peer_type=Read
```
---
## Release notes
Check each box that your changes affect. If none of the boxes relate to
your changes, release notes aren't required.
For each box you select, include information after the relevant heading
that describes the impact of your changes that a user might notice and
any actions they must take to implement updates.
- [ ] Protocol:
- [ ] Nodes (Validators and Full nodes):
- [ ] gRPC:
- [ ] JSON-RPC:
- [ ] GraphQL:
- [ ] CLI:
- [ ] Rust SDK: