A metric is a collection of measurements that facilitates the quantification of some particular characteristic. Examples of metrics are: requests/second serviced by an application, CPU load, stock price, temperature, number of website visits, customer churn rate, etc.
A metric stream aka data stream represents the cardinality of a metric. For example CPU reporting at 60 second resolution from 100 servers is one unique metric with 100 data streams. Temperature reporting from one thermometer is one data stream.
Tags can affect the cardinality of a metric. If you just use tags to add context, e.g. if you add a role tag to a server, and the data stream can ever only be associated with one tag value, it doesn’t change the cardinality of the metric. However, if you are tracking a request latency metric and you add a user_id tag to it and have 1,000 users, adding the user_id tag increases the cardinality of that metric from 1 to 1,000.