1. A method, in a data processing system comprising a processor and a memory, for determining an estimated data packet rate, the method comprising: receiving, from a network forwarding device, a set of sampled data packets from a sequence of data packets, via a mirror port of the network forwarding device, at least by performing a mirroring of data packets from a plurality of normal ports of the network forwarding device to the mirror port of the network forwarding device from which the data packets are randomly sampled as a result of a number of data packets mirrored to the mirror port exceeding a saturation limit of the mirror port, to generate the set of sampled data packets, wherein at least a subset of the sampled data packets in the set of sampled data packets have associated data packet sequence values indicating a position of the sampled data packets within the sequence of data packets; grouping, by the data processing system, the sampled data packets of the set of sampled data packets into a plurality of data packet groups based on a common characteristic of the data packets; determining, by the data processing system, for each data packet group, sequence values of sampled data packets associated with the data packet group; and calculating, by the data processing system, for each data packet group, an estimated data packet rate based on the sequence values of the sampled data packets associated with the data packet group and the total number of data packets in the sequence of data packets.