Online cloud services need to fulfill clients' requests scalably and fast, otherwise, users' experience and providers' revenue could be severely degraded. State-of-the-art cloud services are increasingly deployed as a distributed service mesh. Service to service communication is frequent in the mesh. Unfortunately, problematic events may occur between any pair of nodes in the mesh, therefore, it is vital to maximize the network visibility for efficient network troubleshooting and application optimization. A state-of-the-art approach is to model pairwise RTTs based on a latent factor model represented as a low-rank matrix factorization. A latent factor corresponds to a rank-1 component in the factorization model, and is shared by all node pairs. However, different node pairs usually experience a skewed set of hidden factors like divergent routing paths, dynamic path conditions, or transient network congestions, which cannot be captured by existing latent factor models. In this paper, we propose a skewness-aware matrix factorization method named SMF. We decompose the matrix factorization into the basic units of rank-one latent factors, and progressively combine rank-one factors for different node pairs. We present a unifying framework to automatically and adaptively select the rank-one factors for each node pair, which not only preserves the low rankness of the matrix model, but also adapts to skewed network latency distributions. Over real-world RTT data sets, SMF significantly improves the relative error by a factor of 0.2x to 10x, converges fast and stably, and compactly captures fine-grained local and global network latency structures.