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 }

◆ 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 }

◆ 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 }
Response NullRef< Response >::value

References XrdCl::NullRef< Response >::value.

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

References XrdCl::NullRef< Response >::value.

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

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