@@ -8,7 +8,7 @@ use vortex_error::{VortexExpect, VortexResult, vortex_err, vortex_panic};
8
8
use crate :: layouts:: flat:: FlatLayout ;
9
9
use crate :: reader:: LayoutReader ;
10
10
use crate :: segments:: AsyncSegmentReader ;
11
- use crate :: { Layout , LayoutReaderExt , LayoutVTable } ;
11
+ use crate :: { Layout , LayoutReaderExt , LayoutVTable , instrument } ;
12
12
13
13
pub struct FlatReader {
14
14
layout : Layout ,
@@ -43,25 +43,33 @@ impl FlatReader {
43
43
44
44
pub ( crate ) async fn array ( & self ) -> VortexResult < & ArrayRef > {
45
45
self . array
46
- . get_or_try_init ( async move {
47
- let segment_id = self
48
- . layout ( )
49
- . segment_id ( 0 )
50
- . ok_or_else ( || vortex_err ! ( "FlatLayout missing segment" ) ) ?;
46
+ . get_or_try_init ( instrument ! (
47
+ "flat_read" ,
48
+ { name = self . layout( ) . name( ) } ,
49
+ async move {
50
+ let segment_id = self
51
+ . layout( )
52
+ . segment_id( 0 )
53
+ . ok_or_else( || vortex_err!( "FlatLayout missing segment" ) ) ?;
51
54
52
- log:: debug!(
53
- "Requesting segment {} for flat layout {} expr" ,
54
- segment_id,
55
- self . layout( ) . name( ) ,
56
- ) ;
55
+ log:: debug!(
56
+ "Requesting segment {} for flat layout {} expr" ,
57
+ segment_id,
58
+ self . layout( ) . name( ) ,
59
+ ) ;
57
60
58
- // Fetch all the array segment.
59
- let buffer = self . segment_reader . get ( segment_id) . await ?;
60
- let row_count = usize:: try_from ( self . layout ( ) . row_count ( ) )
61
- . vortex_expect ( "FlatLayout row count does not fit within usize" ) ;
61
+ // Fetch all the array segment.
62
+ let buffer = self . segment_reader. get( segment_id) . await ?;
63
+ let row_count = usize :: try_from( self . layout( ) . row_count( ) )
64
+ . vortex_expect( "FlatLayout row count does not fit within usize" ) ;
62
65
63
- ArrayParts :: try_from ( buffer) ?. decode ( self . ctx ( ) , self . dtype ( ) . clone ( ) , row_count)
64
- } )
66
+ ArrayParts :: try_from( buffer) ?. decode(
67
+ self . ctx( ) ,
68
+ self . dtype( ) . clone( ) ,
69
+ row_count,
70
+ )
71
+ }
72
+ ) )
65
73
. await
66
74
}
67
75
}
0 commit comments