Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build a new otel page on the console #2085

Closed
deniseli opened this issue Jul 16, 2024 · 1 comment
Closed

Build a new otel page on the console #2085

deniseli opened this issue Jul 16, 2024 · 1 comment
Labels
console Web console wontfix This will not be worked on

Comments

@deniseli
Copy link
Contributor

(not urgent)

If you set export FTL_O11Y_LOG_LEVEL="debug" (could try other log levels too) before running ftl dev, you get some fairy rich otel logs in the terminal output:

Examples:

info:echo: Meter created Name: ftl_verb  Version:   SchemaURL:   
debug:time: exporting spans count: 1  total_dropped: 0  
debug:time: PeriodicReader collection Data: &{Resource:service.name=time,service.version=HEAD,telemetry.sdk.language=go,telemetry.sdk.name=opentelemetry,telemetry.sdk.version=1.27.0 ScopeMetrics:[{Scope:{Name:connectrpc.com/otelconnect Version:semver:0.6.0-dev SchemaURL:} Metrics:[{Name:rpc.server.duration Description:Measures the duration of inbound RPC. Unit:ms Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.409526 -0400 EDT m=+0.010469334 Time:2024-07-16 17:22:50.409799 -0400 EDT m=+35.010480459 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:0 valid:true} Max:{value:0 valid:true} Sum:0 Exemplars:[]} {Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Ping slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.409526 -0400 EDT m=+0.010469334 Time:2024-07-16 17:22:50.409799 -0400 EDT m=+35.010480459 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:0 valid:true} Max:{value:0 valid:true} Sum:0 Exemplars:[]}] Temporality:CumulativeTemporality}} {Name:rpc.server.request.size Description:Measures size of RPC request messages (uncompressed). Unit:By Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Ping slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.409527 -0400 EDT m=+0.010470459 Time:2024-07-16 17:22:50.409802 -0400 EDT m=+35.010483543 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:0 valid:true} Max:{value:0 valid:true} Sum:0 Exemplars:[]} {Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.409527 -0400 EDT m=+0.010470459 Time:2024-07-16 17:22:50.409802 -0400 EDT m=+35.010483543 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:18 valid:true} Max:{value:18 valid:true} Sum:18 Exemplars:[]}] Temporality:CumulativeTemporality}} {Name:rpc.server.response.size Description:Measures size of RPC response messages (uncompressed). Unit:By Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Ping slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.409528 -0400 EDT m=+0.010471584 Time:2024-07-16 17:22:50.409802 -0400 EDT m=+35.010483918 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:0 valid:true} Max:{value:0 valid:true} Sum:0 Exemplars:[]} {Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.409528 -0400 EDT m=+0.010471584 Time:2024-07-16 17:22:50.409802 -0400 EDT m=+35.010483918 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0] Min:{value:45 valid:true} Max:{value:45 valid:true} Sum:45 Exemplars:[]}] Temporality:CumulativeTemporality}} {Name:rpc.server.requests_per_rpc Description:Measures the number of messages received per RPC. Should be 1 for all non-streaming RPCs. Unit:1 Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Ping slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.40953 -0400 EDT m=+0.010473418 Time:2024-07-16 17:22:50.409803 -0400 EDT m=+35.010484668 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:1 valid:true} Max:{value:1 valid:true} Sum:1 Exemplars:[]} {Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.40953 -0400 EDT m=+0.010473418 Time:2024-07-16 17:22:50.409803 -0400 EDT m=+35.010484668 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:1 valid:true} Max:{value:1 valid:true} Sum:1 Exemplars:[]}] Temporality:CumulativeTemporality}} {Name:rpc.server.responses_per_rpc Description:Measures the number of messages received per RPC. Should be 1 for all non-streaming RPCs. Unit:1 Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Ping slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.409532 -0400 EDT m=+0.010475584 Time:2024-07-16 17:22:50.409803 -0400 EDT m=+35.010484959 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:1 valid:true} Max:{value:1 valid:true} Sum:1 Exemplars:[]} {Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.409532 -0400 EDT m=+0.010475584 Time:2024-07-16 17:22:50.409803 -0400 EDT m=+35.010484959 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:1 valid:true} Max:{value:1 valid:true} Sum:1 Exemplars:[]}] Temporality:CumulativeTemporality}}]}]}  
debug:echo: PeriodicReader collection Data: &{Resource:service.name=echo,service.version=HEAD,telemetry.sdk.language=go,telemetry.sdk.name=opentelemetry,telemetry.sdk.version=1.27.0 ScopeMetrics:[{Scope:{Name:connectrpc.com/otelconnect Version:semver:0.6.0-dev SchemaURL:} Metrics:[{Name:rpc.client.duration Description:Measures the duration of inbound RPC. Unit:ms Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:net.peer.name Value:{vtype:4 numeric:0 stringly:localhost slice:<nil>}} {Key:net.peer.port Value:{vtype:2 numeric:8892 stringly: slice:<nil>}} {Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.417296 -0400 EDT m=+0.010420542 Time:2024-07-16 17:23:00.417706 -0400 EDT m=+45.010493626 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:4 valid:true} Max:{value:4 valid:true} Sum:4 Exemplars:[]}] Temporality:CumulativeTemporality}} {Name:rpc.client.request.size Description:Measures size of RPC request messages (uncompressed). Unit:By Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:net.peer.name Value:{vtype:4 numeric:0 stringly:localhost slice:<nil>}} {Key:net.peer.port Value:{vtype:2 numeric:8892 stringly: slice:<nil>}} {Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.4173 -0400 EDT m=+0.010424459 Time:2024-07-16 17:23:00.417709 -0400 EDT m=+45.010496834 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:18 valid:true} Max:{value:18 valid:true} Sum:18 Exemplars:[]}] Temporality:CumulativeTemporality}} {Name:rpc.client.response.size Description:Measures size of RPC response messages (uncompressed). Unit:By Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:net.peer.name Value:{vtype:4 numeric:0 stringly:localhost slice:<nil>}} {Key:net.peer.port Value:{vtype:2 numeric:8892 stringly: slice:<nil>}} {Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.417302 -0400 EDT m=+0.010426376 Time:2024-07-16 17:23:00.417709 -0400 EDT m=+45.010497209 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0] Min:{value:45 valid:true} Max:{value:45 valid:true} Sum:45 Exemplars:[]}] Temporality:CumulativeTemporality}} {Name:rpc.client.requests_per_rpc Description:Measures the number of messages received per RPC. Should be 1 for all non-streaming RPCs. Unit:1 Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:net.peer.name Value:{vtype:4 numeric:0 stringly:localhost slice:<nil>}} {Key:net.peer.port Value:{vtype:2 numeric:8892 stringly: slice:<nil>}} {Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.417313 -0400 EDT m=+0.010438001 Time:2024-07-16 17:23:00.417709 -0400 EDT m=+45.010497459 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:1 valid:true} Max:{value:1 valid:true} Sum:1 Exemplars:[]}] Temporality:CumulativeTemporality}} {Name:rpc.client.responses_per_rpc Description:Measures the number of messages received per RPC. Should be 1 for all non-streaming RPCs. Unit:1 Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:net.peer.name Value:{vtype:4 numeric:0 stringly:localhost slice:<nil>}} {Key:net.peer.port Value:{vtype:2 numeric:8892 stringly: slice:<nil>}} {Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.417315 -0400 EDT m=+0.010439209 Time:2024-07-16 17:23:00.41771 -0400 EDT m=+45.010497709 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:1 valid:true} Max:{value:1 valid:true} Sum:1 Exemplars:[]}] Temporality:CumulativeTemporality}} {Name:rpc.server.duration Description:Measures the duration of inbound RPC. Unit:ms Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Ping slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.417316 -0400 EDT m=+0.010440626 Time:2024-07-16 17:23:00.41771 -0400 EDT m=+45.010498001 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:0 valid:true} Max:{value:0 valid:true} Sum:0 Exemplars:[]} {Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.417316 -0400 EDT m=+0.010440626 Time:2024-07-16 17:23:00.41771 -0400 EDT m=+45.010498001 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:4 valid:true} Max:{value:4 valid:true} Sum:4 Exemplars:[]}] Temporality:CumulativeTemporality}} {Name:rpc.server.request.size Description:Measures size of RPC request messages (uncompressed). Unit:By Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Ping slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.417317 -0400 EDT m=+0.010441751 Time:2024-07-16 17:23:00.417711 -0400 EDT m=+45.010499209 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:0 valid:true} Max:{value:0 valid:true} Sum:0 Exemplars:[]} {Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.417317 -0400 EDT m=+0.010441751 Time:2024-07-16 17:23:00.417711 -0400 EDT m=+45.010499209 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:18 valid:true} Max:{value:18 valid:true} Sum:18 Exemplars:[]}] Temporality:CumulativeTemporality}} {Name:rpc.server.response.size Description:Measures size of RPC response messages (uncompressed). Unit:By Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Ping slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.417318 -0400 EDT m=+0.010442876 Time:2024-07-16 17:23:00.417712 -0400 EDT m=+45.010499667 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:0 valid:true} Max:{value:0 valid:true} Sum:0 Exemplars:[]} {Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.417318 -0400 EDT m=+0.010442876 Time:2024-07-16 17:23:00.417712 -0400 EDT m=+45.010499667 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0] Min:{value:79 valid:true} Max:{value:79 valid:true} Sum:79 Exemplars:[]}] Temporality:CumulativeTemporality}} {Name:rpc.server.requests_per_rpc Description:Measures the number of messages received per RPC. Should be 1 for all non-streaming RPCs. Unit:1 Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Ping slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.41732 -0400 EDT m=+0.010444626 Time:2024-07-16 17:23:00.417712 -0400 EDT m=+45.010499959 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:1 valid:true} Max:{value:1 valid:true} Sum:1 Exemplars:[]} {Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.41732 -0400 EDT m=+0.010444626 Time:2024-07-16 17:23:00.417712 -0400 EDT m=+45.010499959 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:1 valid:true} Max:{value:1 valid:true} Sum:1 Exemplars:[]}] Temporality:CumulativeTemporality}} {Name:rpc.server.responses_per_rpc Description:Measures the number of messages received per RPC. Should be 1 for all non-streaming RPCs. Unit:1 Data:{DataPoints:[{Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Ping slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.417322 -0400 EDT m=+0.010446709 Time:2024-07-16 17:23:00.417712 -0400 EDT m=+45.010500376 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:1 valid:true} Max:{value:1 valid:true} Sum:1 Exemplars:[]} {Attributes:{equivalent:{iface:[{Key:rpc.grpc.status_code Value:{vtype:2 numeric:0 stringly: slice:<nil>}} {Key:rpc.method Value:{vtype:4 numeric:0 stringly:Call slice:<nil>}} {Key:rpc.service Value:{vtype:4 numeric:0 stringly:xyz.block.ftl.v1.VerbService slice:<nil>}} {Key:rpc.system Value:{vtype:4 numeric:0 stringly:grpc slice:<nil>}}]}} StartTime:2024-07-16 17:22:15.417322 -0400 EDT m=+0.010446709 Time:2024-07-16 17:23:00.417712 -0400 EDT m=+45.010500376 Count:1 Bounds:[0 5 10 25 50 75 100 250 500 750 1000 2500 5000 7500 10000] BucketCounts:[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] Min:{value:1 valid:true} Max:{value:1 valid:true} Sum:1 Exemplars:[]}] Temporality:CumulativeTemporality}}]} {Scope:{Name:ftl_verb_123 Version: SchemaURL:} Metrics:[{Name:verb_call Description:Count of FTL verb calls via the controller Unit:requests Data:{DataPoints:[{Attributes:{equivalent:{iface:[]}} StartTime:2024-07-16 17:22:47.664894 -0400 EDT m=+32.257777001 Time:2024-07-16 17:23:00.417713 -0400 EDT m=+45.010500917 Value:1 Exemplars:[]}] Temporality:CumulativeTemporality IsMonotonic:true}}]}]}

Although these logs aren't human-readable, not to mention noisy (so we don't want them turned on by default), we could use the structured data we get out of here to build a new Console page that visualizes it all nicely. This would also improve the user experience of end users working on otel traces/metrics/logs. Currently, we have just otel-ui to debug traces, but not only does it not (yet) have metric/log support, but it also is only available to the FTL team, not end users of the SDK.

@deniseli deniseli added the console Web console label Jul 16, 2024
@github-actions github-actions bot added the triage Issue needs triaging label Jul 16, 2024
@ftl-robot ftl-robot mentioned this issue Jul 16, 2024
@worstell worstell removed the triage Issue needs triaging label Jul 16, 2024
@wesbillman
Copy link
Collaborator

Not going to do this. We'll just use Grafana for this type of display.

@wesbillman wesbillman added the wontfix This will not be worked on label Aug 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
console Web console wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

3 participants