If we cannot store all edges in a dynamic graph, which edges should we store to estimate the triangle count accurately? Counting triangles (i.e., cliques of size three) is a fundamental graph problem with many applications in social network analysis, web mining, anomaly detection, etc. Recently, much effort has been made to accurately estimate the counts of global triangles (i.e., all triangles) and local triangles (i.e., all triangle incident to each node) in large dynamic graphs, especially with limited space. Although existing algorithms use sampling techniques without considering temporal dependencies in edges, we observetemporal localityin the formation of triangles in real dynamic graphs. That is, future edges are more likely to form triangles with recent edges than with older edges. In this work, we propose a family of single-pass streaming algorithms calledWaiting-Room Sampling(WRS) for estimating the counts of global and local triangles in a fully dynamic graph, where edges are inserted and deleted over time, within a fixed memory budget.WRSexploits the temporal locality by always storing the most recent edges, which future edges are more likely to form triangles with, in thewaiting room, while it uses reservoir sampling and its variant for the remaining edges. Our theoretical and empirical analyses show thatWRSis:(a) Fast and 'any time':runs in linear time, always maintaining and updating estimates, while the input graph evolves,(b) Effective: yields up to47% smaller estimation errorthan its best competitors, and(c) Theoretically sound: gives unbiased estimates with small variances under the temporal locality.