XRootD
Loading...
Searching...
No Matches
XrdCl::Recorder Class Reference

#include <XrdClRecorder.hh>

+ Inheritance diagram for XrdCl::Recorder:
+ Collaboration diagram for XrdCl::Recorder:

Public Member Functions

 Recorder ()
 Constructor.
 
virtual ~Recorder ()
 Destructor.
 
virtual XRootDStatus Close (ResponseHandler *handler, uint16_t timeout)
 Close.
 
virtual XRootDStatus Fcntl (const Buffer &arg, ResponseHandler *handler, uint16_t timeout)
 Fcntl.
 
virtual bool GetProperty (const std::string &name, std::string &value) const
 GetProperty.
 
virtual bool IsOpen () const
 IsOpen.
 
bool IsValid () const
 
virtual XRootDStatus Open (const std::string &url, OpenFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, uint16_t timeout)
 Open.
 
virtual XRootDStatus PgRead (uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout)
 
virtual XRootDStatus PgWrite (uint64_t offset, uint32_t size, const void *buffer, std::vector< uint32_t > &cksums, ResponseHandler *handler, uint16_t timeout)
 
virtual XRootDStatus Read (uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout)
 Read.
 
virtual bool SetProperty (const std::string &name, const std::string &value)
 SetProperty.
 
virtual XRootDStatus Stat (bool force, ResponseHandler *handler, uint16_t timeout)
 Stat.
 
virtual XRootDStatus Sync (ResponseHandler *handler, uint16_t timeout)
 Sync.
 
virtual XRootDStatus Truncate (uint64_t size, ResponseHandler *handler, uint16_t timeout)
 Truncate.
 
virtual XRootDStatus VectorRead (const ChunkList &chunks, void *buffer, ResponseHandler *handler, uint16_t timeout)
 VectorRead.
 
virtual XRootDStatus VectorWrite (const ChunkList &chunks, ResponseHandler *handler, uint16_t timeout)
 VectorRead.
 
virtual XRootDStatus Visa (ResponseHandler *handler, uint16_t timeout)
 Visa.
 
virtual XRootDStatus Write (uint64_t offset, uint32_t size, const void *buffer, ResponseHandler *handler, uint16_t timeout)
 Write.
 
- Public Member Functions inherited from XrdCl::FilePlugIn
virtual ~FilePlugIn ()
 Destructor.
 
virtual XRootDStatus Read (uint64_t offset, uint32_t size, Optional< uint64_t > fdoff, int fd, ResponseHandler *handler, uint16_t timeout=0)
 
virtual XRootDStatus Write (uint64_t offset, Buffer &&buffer, ResponseHandler *handler, uint16_t timeout=0)
 
virtual XRootDStatus Write (uint64_t offset, uint32_t size, Optional< uint64_t > fdoff, int fd, ResponseHandler *handler, uint16_t timeout=0)
 
virtual XRootDStatus WriteV (uint64_t offset, const struct iovec *iov, int iovcnt, ResponseHandler *handler, uint16_t timeout=0)
 

Static Public Member Functions

static void SetOutput (const std::string &cfgpath)
 

Detailed Description

XrdClFile plugin that arecords all user actions and server responses and dumps the data into a csv file.

Definition at line 42 of file XrdClRecorder.hh.

Constructor & Destructor Documentation

◆ Recorder()

XrdCl::Recorder::Recorder ( )
inline

Constructor.

Definition at line 240 of file XrdClRecorder.hh.

240 :
241 file( false ),
242 output( Output::Instance() )
243 {
244 }

◆ ~Recorder()

virtual XrdCl::Recorder::~Recorder ( )
inlinevirtual

Destructor.

Definition at line 257 of file XrdClRecorder.hh.

258 {
259 }

Member Function Documentation

◆ Close()

virtual XRootDStatus XrdCl::Recorder::Close ( ResponseHandler handler,
uint16_t  timeout 
)
inlinevirtual

Close.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 278 of file XrdClRecorder.hh.

280 {
281 std::unique_ptr<Action> ptr( new CloseAction( this, timeout ) );
282 RecordHandler *recHandler = new RecordHandler( output, std::move( ptr ), handler );
283 return file.Close( recHandler, timeout );
284 }
XRootDStatus Close(ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:151

References XrdCl::File::Close().

+ Here is the call graph for this function:

◆ Fcntl()

virtual XRootDStatus XrdCl::Recorder::Fcntl ( const Buffer arg,
ResponseHandler handler,
uint16_t  timeout 
)
inlinevirtual

Fcntl.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 407 of file XrdClRecorder.hh.

410 {
411 std::unique_ptr<Action> ptr( new FcntlAction( this, arg, timeout ) );
412 RecordHandler *recHandler = new RecordHandler( output, std::move( ptr ), handler );
413 return file.Fcntl(arg, recHandler, timeout);
414 }
XRootDStatus Fcntl(const Buffer &arg, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:610

References XrdCl::File::Fcntl().

+ Here is the call graph for this function:

◆ GetProperty()

virtual bool XrdCl::Recorder::GetProperty ( const std::string &  name,
std::string &  value 
) const
inlinevirtual

GetProperty.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 445 of file XrdClRecorder.hh.

447 {
448 return file.GetProperty(name, value);
449 }
bool GetProperty(const std::string &name, std::string &value) const
Definition XrdClFile.cc:878

References XrdCl::File::GetProperty().

+ Here is the call graph for this function:

◆ IsOpen()

virtual bool XrdCl::Recorder::IsOpen ( ) const
inlinevirtual

IsOpen.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 428 of file XrdClRecorder.hh.

429 {
430 return file.IsOpen();
431 }
bool IsOpen() const
Check if the file is open.
Definition XrdClFile.cc:846

References XrdCl::File::IsOpen().

+ Here is the call graph for this function:

◆ IsValid()

bool XrdCl::Recorder::IsValid ( ) const
inline
Returns
: true if this is a valid instance, false otherwise

Definition at line 249 of file XrdClRecorder.hh.

250 {
251 return output.IsValid();
252 }

◆ Open()

virtual XRootDStatus XrdCl::Recorder::Open ( const std::string &  url,
OpenFlags::Flags  flags,
Access::Mode  mode,
ResponseHandler handler,
uint16_t  timeout 
)
inlinevirtual

Open.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 264 of file XrdClRecorder.hh.

269 {
270 std::unique_ptr<Action> ptr( new OpenAction( this, url, flags, mode, timeout ) );
271 RecordHandler *recHandler = new RecordHandler( output, std::move( ptr ), handler );
272 return file.Open( url, flags, mode, recHandler, timeout );
273 }
XRootDStatus Open(const std::string &url, OpenFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:99

References XrdCl::File::Open().

+ Here is the call graph for this function:

◆ PgRead()

virtual XRootDStatus XrdCl::Recorder::PgRead ( uint64_t  offset,
uint32_t  size,
void *  buffer,
ResponseHandler handler,
uint16_t  timeout 
)
inlinevirtual
See also
XrdCl:File PgRead

Reimplemented from XrdCl::FilePlugIn.

Definition at line 330 of file XrdClRecorder.hh.

335 {
336 std::unique_ptr<Action> ptr( new PgReadAction( this, offset, size, timeout ) );
337 RecordHandler *recHandler = new RecordHandler( output, std::move( ptr ), handler );
338 return file.PgRead( offset, size, buffer, recHandler, timeout );
339 }
XRootDStatus PgRead(uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:245

References XrdCl::File::PgRead().

+ Here is the call graph for this function:

◆ PgWrite()

virtual XRootDStatus XrdCl::Recorder::PgWrite ( uint64_t  offset,
uint32_t  size,
const void *  buffer,
std::vector< uint32_t > &  cksums,
ResponseHandler handler,
uint16_t  timeout 
)
inlinevirtual
See also
XrdCl::File::PgWrite

Reimplemented from XrdCl::FilePlugIn.

Definition at line 344 of file XrdClRecorder.hh.

350 {
351 std::unique_ptr<Action> ptr( new PgWriteAction( this, offset, size, timeout ) );
352 RecordHandler *recHandler = new RecordHandler( output, std::move( ptr ), handler );
353 return file.PgWrite( offset, size, buffer, cksums, recHandler, timeout );
354 }
XRootDStatus PgWrite(uint64_t offset, uint32_t size, const void *buffer, std::vector< uint32_t > &cksums, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:380

References XrdCl::File::PgWrite().

+ Here is the call graph for this function:

◆ Read()

virtual XRootDStatus XrdCl::Recorder::Read ( uint64_t  offset,
uint32_t  size,
void *  buffer,
ResponseHandler handler,
uint16_t  timeout 
)
inlinevirtual

Read.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 302 of file XrdClRecorder.hh.

307 {
308 std::unique_ptr<Action> ptr( new ReadAction( this, offset, size, timeout ) );
309 RecordHandler *recHandler = new RecordHandler( output, std::move( ptr ), handler );
310 return file.Read( offset, size, buffer, recHandler, timeout );
311 }
XRootDStatus Read(uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:206

References XrdCl::File::Read().

+ Here is the call graph for this function:

◆ SetOutput()

static void XrdCl::Recorder::SetOutput ( const std::string &  cfgpath)
inlinestatic

Create the output csv file

Parameters
cfgpath: path for the file to be created

Definition at line 228 of file XrdClRecorder.hh.

229 {
230 static const std::string defaultpath = "/tmp/xrdrecord.csv";
231 const char *envpath = getenv( "XRD_RECORDERPATH" );
232 std::string path = envpath ? envpath :
233 ( !cfgpath.empty() ? cfgpath : defaultpath );
234 Output::Get().SetPath( path );
235 }

Referenced by XrdCl::RecorderFactory::RecorderFactory().

+ Here is the caller graph for this function:

◆ SetProperty()

virtual bool XrdCl::Recorder::SetProperty ( const std::string &  name,
const std::string &  value 
)
inlinevirtual

SetProperty.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 436 of file XrdClRecorder.hh.

438 {
439 return file.SetProperty(name, value);
440 }
bool SetProperty(const std::string &name, const std::string &value)
Definition XrdClFile.cc:867

References XrdCl::File::SetProperty().

+ Here is the call graph for this function:

◆ Stat()

virtual XRootDStatus XrdCl::Recorder::Stat ( bool  force,
ResponseHandler handler,
uint16_t  timeout 
)
inlinevirtual

Stat.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 289 of file XrdClRecorder.hh.

292 {
293 std::unique_ptr<Action> ptr( new StatAction( this, force, timeout ) );
294 RecordHandler *recHandler = new RecordHandler( output, std::move( ptr ), handler );
295 return file.Stat(force, recHandler, timeout);
296 }
XRootDStatus Stat(bool force, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:177

References XrdCl::File::Stat().

+ Here is the call graph for this function:

◆ Sync()

virtual XRootDStatus XrdCl::Recorder::Sync ( ResponseHandler handler,
uint16_t  timeout 
)
inlinevirtual

Sync.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 359 of file XrdClRecorder.hh.

361 {
362 std::unique_ptr<Action> ptr( new SyncAction( this, timeout ) );
363 RecordHandler *recHandler = new RecordHandler( output, std::move( ptr ), handler );
364 return file.Sync( recHandler, timeout );
365 }
XRootDStatus Sync(ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:414

References XrdCl::File::Sync().

+ Here is the call graph for this function:

◆ Truncate()

virtual XRootDStatus XrdCl::Recorder::Truncate ( uint64_t  size,
ResponseHandler handler,
uint16_t  timeout 
)
inlinevirtual

Truncate.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 370 of file XrdClRecorder.hh.

373 {
374 std::unique_ptr<Action> ptr( new TruncateAction( this, size, timeout ) );
375 RecordHandler *recHandler = new RecordHandler( output, std::move( ptr ), handler );
376 return file.Truncate(size, recHandler, timeout);
377 }
XRootDStatus Truncate(uint64_t size, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:440

References XrdCl::File::Truncate().

+ Here is the call graph for this function:

◆ VectorRead()

virtual XRootDStatus XrdCl::Recorder::VectorRead ( const ChunkList chunks,
void *  buffer,
ResponseHandler handler,
uint16_t  timeout 
)
inlinevirtual

VectorRead.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 382 of file XrdClRecorder.hh.

386 {
387 std::unique_ptr<Action> ptr( new VectorReadAction( this, chunks, timeout ) );
388 RecordHandler *recHandler = new RecordHandler( output, std::move( ptr ), handler );
389 return file.VectorRead(chunks, buffer, recHandler, timeout);
390 }
XRootDStatus VectorRead(const ChunkList &chunks, void *buffer, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:468

References XrdCl::File::VectorRead().

+ Here is the call graph for this function:

◆ VectorWrite()

virtual XRootDStatus XrdCl::Recorder::VectorWrite ( const ChunkList chunks,
ResponseHandler handler,
uint16_t  timeout 
)
inlinevirtual

VectorRead.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 395 of file XrdClRecorder.hh.

398 {
399 std::unique_ptr<Action> ptr( new VectorWriteAction( this, chunks, timeout ) );
400 RecordHandler *recHandler = new RecordHandler( output, std::move( ptr ), handler );
401 return file.VectorWrite( chunks, recHandler, timeout );
402 }
XRootDStatus VectorWrite(const ChunkList &chunks, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:498

References XrdCl::File::VectorWrite().

+ Here is the call graph for this function:

◆ Visa()

virtual XRootDStatus XrdCl::Recorder::Visa ( ResponseHandler handler,
uint16_t  timeout 
)
inlinevirtual

Visa.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 419 of file XrdClRecorder.hh.

421 {
422 return file.Visa(handler, timeout);
423 }
XRootDStatus Visa(ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Get access token to a file - async.
Definition XrdClFile.cc:639

References XrdCl::File::Visa().

+ Here is the call graph for this function:

◆ Write()

virtual XRootDStatus XrdCl::Recorder::Write ( uint64_t  offset,
uint32_t  size,
const void *  buffer,
ResponseHandler handler,
uint16_t  timeout 
)
inlinevirtual

Write.

Reimplemented from XrdCl::FilePlugIn.

Definition at line 316 of file XrdClRecorder.hh.

321 {
322 std::unique_ptr<Action> ptr( new WriteAction( this, offset, size, timeout ) );
323 RecordHandler *recHandler = new RecordHandler( output, std::move( ptr ), handler );
324 return file.Write( offset, size, buffer, recHandler, timeout );
325 }
XRootDStatus Write(uint64_t offset, uint32_t size, const void *buffer, ResponseHandler *handler, uint16_t timeout=0) XRD_WARN_UNUSED_RESULT
Definition XrdClFile.cc:286

References XrdCl::File::Write().

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: