Span Ports or Mirror ports are great ways to mirror the actual traffic between the ports; it can lead to problems when exceeding the aggregate traffic of all ETLs (as Martin2341 mentions). Additionally (you mention Finisar Xgigs) the Span/Mirror ports don't see all the traffic. If you Xgig-Capture on those, you'll see that some B2B primitives are not shared, the SCSI 00 ending the exchange might not show up, and the latency from the actual live links to the mirror/span links is not consistent -- so if you're trying to do timing off that, it'll be all over the map.
Span/Mirror ports tend to require specific setup, and there is a limit as to how many per switch you can do. Some vendors require a license for the number of Span, Mirror, or Diagnostic ports you want to try to enable, and there can be throughput issues exceeding 100 ports mirrored.
We tend to use optical splitters, but they seem relatively new on the marketplace based on support dialogs. Brocade doesn't like them traditionally, but I hear Corning is now providing those, and that gives us a supported (from a "warrantee, guarantee, file a support ticket" standpoint) link from switches to storage that can be tapped for Xgig and similar hardware: the fire hydrants are under the street before the fires happen. It's not free, but a fraction of the cost of a storage port, and sees 100% of the traffic, bit-for-bit, warts and wrinkles and all. Plus, it acts the same whether you later switch from Brocade to Cisco or back.
The Xgig connected to the splitters sees all the traffic as it does when installed inline, but you don't have to down the link to take it out, move it, or manage it (IP, firmware, etc). We tend to recommend tapping all of a VMAX's FAs during a new deployment, if the cost is bourne for the taps. In troubleshooting later, it's worth not having to change-control that link down to tap it, only to have the problem show up whack-a-mole on another link as servers move to another path when you down the link.