Let $X$ be a metric space, and let $U \subset X$ be any set. A finite set $N = N(\epsilon) \subset U$ is called a finite $\epsilon$-net of $U$ if every point of $U$ is at most a distance of $\epsilon$ from some point of $N$.

It is easy to show that if $U$ is compact, then for any $\epsilon>0$, a finite $\epsilon$-net exists. I am interested in the behavior of the function $|N(\epsilon)|$ as $\epsilon$ goes to zero. If there are answers in this generality, great. I am mostly interested in the particular case where $U$ is also convex, and where $X$ is also an infinite dimensional topological vector space, but any answers are of course welcome.

Edit: I'm also interested in weakening the notion of $\epsilon$-net, so instead of requiring every point of $U$ to be close to a point in $N$, we could require every point of $U$ to be close to a point in the convex hull of $N$. The motivation for this comes from looking at objects which are "convexly compact"; this means (in a metric space) that given any sequence $(f_n)$ in $U$, there exist $g_j \in \text{conv}(f_j,f_{j+1},\ldots)$ such that $g_j \rightarrow g$ in $U$.