जब समय फ़िल्टर, पृष्ठ सीमा और देर से आगमन को असंबंधित विवरण माना जाता है तो रिपोर्ट निर्यात अविश्वसनीय हो जाता है। पूर्ण दिखने वाला परिणाम टाइमस्टैम्प साझा करने वाले रिकॉर्ड को छोड़ सकता है या एक ही रिपोर्ट को दो बार गिन सकता है। निर्यात लूप बनाने से पहले चयन नियम लिख लें।
फ़िल्टर किया जा रहा समय चुनें
समग्र रिपोर्ट एक मूल्यांकन अवधि हो; कलेक्टर के पास रसीद का समय भी होता है। RFC 9990 इसकी दिनांक सीमा सहित समग्र-रिपोर्ट संरचना को परिभाषित करता है। प्राप्ति समय द्वारा फ़िल्टर किया गया निर्यात विंडो के दौरान क्या आया इसका उत्तर देता है, जरूरी नहीं कि इसके दौरान किन संदेशों का मूल्यांकन किया गया था। चयनित फ़ील्ड को नाम दें और उपलब्ध होने पर दोनों अर्थ सुरक्षित रखें।
स्पष्ट सीमा परिपाटी के साथ यूटीसी टाइमस्टैम्प का उपयोग करें। नीचे दिया गया काल्पनिक रसीद-समय का उदाहरण आधी खुली खिड़की का उपयोग करता है: प्रारंभ शामिल करें, अंत शामिल न करें। निकटवर्ती दैनिक निर्यात केवल इसलिए ओवरलैप नहीं होते क्योंकि वे आधी रात को साझा करते हैं। अलग-अलग दस्तावेज़ वाले शब्दार्थ वाले प्रदाता के लिए, इसकी अंतिम सीमा विशिष्ट होने का दिखावा करने के बजाय जानबूझकर अनुवाद करें और डुप्लिकेट करें।
सेवा की निरंतरता तंत्र का पालन करें
यह अनुमान न लगाएं कि प्रत्येक समापन बिंदु पृष्ठ संख्याओं का उपयोग करता है या कि एक छोटा पृष्ठ हमेशा परिणाम को समाप्त करता है। GitHub का पेजिनेशन दस्तावेज़ जहां आपूर्ति की गई है वहां निम्नलिखित लिंक हेडर प्रदर्शित करता है। अन्य सेवाएँ अपारदर्शी कर्सर का उपयोग करती हैं। वास्तविक अनुबंध का पालन करें, सक्रिय फ़िल्टर बनाए रखें और केवल इसकी परिभाषित पूर्णता स्थिति के तहत ही रुकें।
पूछें कि क्या पेजिनेशन एक स्थिर स्नैपशॉट देखता है। यदि नए आगमन से पृष्ठ सदस्यता बदल सकती है, तो ऑफसेट पेजिंग रिकॉर्ड को छोड़ सकती है या दोहरा सकती है। जहां समर्थित हो वहां स्थिर ऑर्डरिंग और स्नैपशॉट-बाउंड कर्सर का उपयोग करें। प्रस्तावित डिज़ाइन के लिए, एक स्थिर रसीद-समय और पहचान क्रम और स्नैपशॉट/फ़िल्टर-बाउंड कर्सर निरंतरता को ऑडिट योग्य बना सकता है। टाई-ब्रेकर के रूप में प्रदाता की पूर्ण पहचान कुंजी का उपयोग करें; एक रिपोर्ट आईडी को सभी पत्रकारों के लिए अद्वितीय होने की आवश्यकता नहीं है। ये डिज़ाइन अनुशंसाएँ हैं, सत्यापित विक्रेता गारंटी नहीं।
ज्ञात इनपुट के साथ सीमाओं का परीक्षण करें
एक रिपोर्टर और किरायेदार के लिए एक निश्चित स्नैपशॉट मानें, जो यूटीसी दिन के लिए रसीद समय के अनुसार फ़िल्टर किया गया हो। रिपोर्ट 0 दिन से एक सेकंड पहले आई और इसमें 10 अवलोकन हैं। रिपोर्ट 1 और 2 दोपहर को आईं और उनमें 30 और 20 अवलोकन हैं; रिपोर्ट 3 18:00 बजे आई और उसमें 50 हैं। रिपोर्ट 4 ठीक अगली आधी रात को आई और उसमें 50 हैं। शामिल-प्रारंभ/बहिष्कृत-अंत नियम के तहत, आईडी 1, 2 और 3 का चयन करें: 30 + 20 + 50 = 100 अवलोकन। दो के कल्पित पृष्ठ आकार और स्थिर पहचान टाई-ब्रेकर के साथ, वे चयनित रिकॉर्ड दो और एक के पृष्ठों पर कब्जा कर लेते हैं।
ये आविष्कृत इनपुट तथ्य और अपेक्षित अंकगणित हैं, न कि कोई निर्यात या निष्पादित पृष्ठांकन परीक्षण। पहचान और कुल दोनों को सत्यापित करें: रिपोर्ट 3 के लिए आउट-ऑफ-विंडो रिपोर्ट 4 को प्रतिस्थापित करने से 100 सुरक्षित रहेगा लेकिन गलत सेट का चयन करें। यह उदाहरण संपूर्ण रिपोर्ट प्राप्ति समय को फ़िल्टर करता है; यह समग्र रिपोर्ट अंतराल से व्यक्तिगत संदेश टाइमस्टैम्प का अनुमान नहीं लगाता है। एक संग्रह कट-ऑफ़ या ऐतिहासिक-अवधि क्वेरी के लिए अपने स्वयं के दस्तावेज़ीकृत नियमों की आवश्यकता होती है।
पूर्णता का प्रमाण सुरक्षित रखें
निर्यातित डेटा के साथ मूल फ़िल्टर, संस्करण, निरंतरता अनुक्रम, पंक्ति गणना, विशिष्ट पहचान और अंतिम स्थिति संग्रहीत करें। यदि कोई पृष्ठ विफल हो जाता है, तो निर्यात को अपूर्ण लेबल करें और प्रदाता के समर्थित तंत्र के तहत फिर से शुरू करें या पुनरारंभ करें। पूर्ण मासिक मीट्रिक के रूप में कभी भी आंशिक परिणाम न दिखाएं।
खाली विंडो, बदले गए फ़िल्टर, बार-बार कर्सर और कर्सर समाप्ति की समीक्षा करें। एक समाप्त हो चुके कर्सर को अनुमानित पृष्ठ से आगे बढ़ने के बजाय एक ताजा स्नैपशॉट और मिलान की आवश्यकता हो सकती है। ऐतिहासिक मूल्यांकन-अवधि रिपोर्टों के लिए, संग्रह कट-ऑफ़ की अनुमति दें और देर से हुए सुधारों की व्याख्या करें। पाठक को यह बताने में सक्षम होना चाहिए कि कौन से अवलोकन शामिल थे और कौन से अपेक्षित स्रोत अनुपस्थित थे।