.. _dirac-dms-protocol-matrix: ========================= dirac-dms-protocol-matrix ========================= Generate a matrix of protocols used between SEs for FTS transfers. The output is a CSV file containing a matrix source/destination. The value of each cell is of the form "proto1/proto2 ([protoA,protoB,...])" proto1/proto2 are the protocols that would really be given to FTS for source and dest urls protoA,protoB,etc are the sorted list of protocols that would be attempted for thrid party copy by DIRAC By default, all the SEs are taken into account, but the matrix is factorized by using baseSEs. Suppose you have the following in your CS::: StorageElementBases{ IN2P3-Disk } StorageElements{ IN2P3-DST{ BaseSE = IN2P3-Disk } IN2P3-User{ BaseSE = IN2P3-Disk } AnotherDisk{ } } You can have the following combinations::: DIRAC-PROD>dirac-dms-protocol-matrix Using sources: IN2P3-Disk, AnotherDisk Using target: IN2P3-Disk, AnotherDisk DIRAC-PROD>dirac-dms-protocol-matrix --FromSE=IN2P3-User Using sources: IN2P3-User Using target: IN2P3-Disk, AnotherDisk DIRAC-PROD>dirac-dms-protocol-matrix --FromSE=IN2P3-User --Bidirection Using sources: IN2P3-User Using target: IN2P3-User Usage:: dirac_dms_protocol_matrix.py [options] ... Options:: --FromSE= : SE1[,SE2,...] --TargetSE= : SE1[,SE2,...] --OutputFile= : CSV output file (default /tmp/protocol-matrix.csv) --Bidirection : If FromSE or TargetSE are specified, make a square matrix --FTSOnly : Only display the protocols sent to FTS --ExcludeSE= : SEs to not take into account for the matrix