{"id":18922,"date":"2022-10-19T14:08:08","date_gmt":"2022-10-19T12:08:08","guid":{"rendered":"http:\/\/hurt-portal.web-br.corpnet.pl\/tpix\/tpix-en\/statystyki-ruchu-en\/"},"modified":"2023-10-20T13:12:30","modified_gmt":"2023-10-20T11:12:30","slug":"tpix-traffic-statistics","status":"publish","type":"page","link":"https:\/\/hurt-orange.pl\/tpix\/en\/tpix-traffic-statistics\/","title":{"rendered":"TPIX traffic statistics"},"content":{"rendered":"                        <H2            id=\"1\"            class=\"heading2_6a297a99cf032 heading2  position-relative\"\n        >\n                            <div class=\"heading2_6a297a99cf032__bg heading2__bg  heading2__bg--edge-to-edge position-absolute\"><\/div>\n            \n                            TPIX traffic statistics                    <\/H2>\n                <div class=\"row position-relative\">\n                            <div class=\"heading2_6a297a99cf032__bg heading2__bg  heading2__bg--edge-to-edge position-absolute\"><\/div>\n                    <div class=\"d-block position-relative pb-5 f-18 col-12 col-md-6\">\n            Diagrams illustrating the TPIX traffic from a daily, monthly and yearly perspective.        <\/div>\n        <\/div>\n            \n\n        <div  class=\"chart position-relative\">\n                    <div class=\"row chart-content position-relative\">\n                            <div class=\"col-12 col-lg-4 pr-lg-4\">\n                    <h3><strong>Wykres dzienny<\/strong><\/h3>\n                    <p class=\"pt-3 mb-0\">Wykres przedstawia ca\u0142o\u015b\u0107 ruchu na platformie TPIX w ci\u0105gu ostatniej doby.<\/p>\n                                            <div class=\"chart__kpi chart__kpi--orange mt-4\" id=\"chart-day-kpi\">\n                            <div class=\"chart__kpi-label\">szczytowy ruch<\/div>\n                            <div class=\"chart__kpi-value\"><span id=\"chart-day-peak\">\u2014<\/span><\/div>\n                            <div class=\"chart__kpi-sub\" id=\"chart-day-period\">\u2014<\/div>\n                        <\/div>\n                                    <\/div>\n                        <div class=\"col-12 col-lg-8\">\n                <div class=\"chart__canvas-wrapper mt-3 mt-lg-3\">\n                    <div class=\"chart__loading\" id=\"chart-day-loading\">Pobieranie danych z TPIX&#8230;<\/div>\n                    <div class=\"chart__error\" id=\"chart-day-error\"><\/div>\n                    <canvas id=\"chart-day\"><\/canvas>\n                <\/div>\n                <div class=\"chart__stats\" id=\"stats-day\"><\/div>\n            <\/div>\n                            <div class=\"chart-bottom-line position-absolute\"><\/div>\n                    <\/div>\n                <div class=\"row chart-content position-relative\">\n                            <div class=\"col-12 col-lg-4 pr-lg-4\">\n                    <h3><strong>Wykres miesi\u0119czny<\/strong><\/h3>\n                    <p class=\"pt-3 mb-0\">Wykres przedstawia ca\u0142o\u015b\u0107 ruchu na platformie TPIX w ostatnich 30 dniach.<\/p>\n                                            <div class=\"chart__kpi chart__kpi--orange mt-4\" id=\"chart-month-kpi\">\n                            <div class=\"chart__kpi-label\">szczytowy ruch<\/div>\n                            <div class=\"chart__kpi-value\"><span id=\"chart-month-peak\">\u2014<\/span><\/div>\n                            <div class=\"chart__kpi-sub\" id=\"chart-month-period\">\u2014<\/div>\n                        <\/div>\n                                    <\/div>\n                        <div class=\"col-12 col-lg-8\">\n                <div class=\"chart__canvas-wrapper mt-3 mt-lg-3\">\n                    <div class=\"chart__loading\" id=\"chart-month-loading\">Pobieranie danych z TPIX&#8230;<\/div>\n                    <div class=\"chart__error\" id=\"chart-month-error\"><\/div>\n                    <canvas id=\"chart-month\"><\/canvas>\n                <\/div>\n                <div class=\"chart__stats\" id=\"stats-month\"><\/div>\n            <\/div>\n                            <div class=\"chart-bottom-line position-absolute\"><\/div>\n                    <\/div>\n                <div class=\"row chart-content position-relative\">\n                            <div class=\"col-12 col-lg-4 pr-lg-4\">\n                    <h3><strong>Wykres roczny<\/strong><\/h3>\n                    <p class=\"pt-3 mb-0\">Wykres przedstawia ca\u0142o\u015b\u0107 ruchu na platformie TPIX w ci\u0105gu ostatnich 12 miesi\u0119cy.<\/p>\n                                            <div class=\"chart__kpi chart__kpi--orange mt-4\" id=\"chart-year-kpi\">\n                            <div class=\"chart__kpi-label\">szczytowy ruch<\/div>\n                            <div class=\"chart__kpi-value\"><span id=\"chart-year-peak\">\u2014<\/span><\/div>\n                            <div class=\"chart__kpi-sub\" id=\"chart-year-period\">\u2014<\/div>\n                        <\/div>\n                                    <\/div>\n                        <div class=\"col-12 col-lg-8\">\n                <div class=\"chart__canvas-wrapper mt-3 mt-lg-3\">\n                    <div class=\"chart__loading\" id=\"chart-year-loading\">Pobieranie danych z TPIX&#8230;<\/div>\n                    <div class=\"chart__error\" id=\"chart-year-error\"><\/div>\n                    <canvas id=\"chart-year\"><\/canvas>\n                <\/div>\n                <div class=\"chart__stats\" id=\"stats-year\"><\/div>\n            <\/div>\n                            <div class=\"chart-bottom-line position-absolute\"><\/div>\n                    <\/div>\n                <\/div>\n                <script src=\"https:\/\/hurt-orange.pl\/tpix\/wp-content\/themes\/orange-hurt\/components\/chart\/vendor\/chart.umd.min.js\"><\/script>\n        <script src=\"https:\/\/hurt-orange.pl\/tpix\/wp-content\/themes\/orange-hurt\/components\/chart\/vendor\/chartjs-adapter-date-fns.bundle.min.js\"><\/script>\n        <script>\n        (function () {\n            if (window.__tpixChartInit) return;\n            window.__tpixChartInit = true;\n\n            var ORANGE = '#ff7900';\n            var ORANGE_FILL = 'rgba(255, 121, 0, 0.85)';\n\n            var XML_URL = \"https:\\\/\\\/hurt-orange.pl\\\/tpix\\\/wp-content\\\/themes\\\/orange-hurt\\\/components\\\/chart\\\/proxy.php\";\n\n            function show(id, display) {\n                var el = document.getElementById(id);\n                if (el) el.style.display = display;\n            }\n\n            async function fetchXML() {\n                var bust = '?_=' + Date.now();\n                var response;\n                try {\n                    response = await fetch(XML_URL + bust, { cache: 'no-store' });\n                    if (!response.ok) throw new Error('proxy failed');\n                } catch (e) {\n                    response = await fetch('https:\/\/lg.tpix.pl\/graphs\/total.xml' + bust, { cache: 'no-store' });\n                }\n                var text = await response.text();\n                var doc = new DOMParser().parseFromString(text, 'application\/xml');\n                if (doc.querySelector('parsererror')) {\n                    throw new Error('Invalid XML response');\n                }\n                return doc;\n            }\n\n            function parseRRA(xml, rraIndex) {\n                var rras = xml.querySelectorAll('rra');\n                var rra = rras[rraIndex];\n                if (!rra) return [];\n\n                var dbEl = rra.querySelector('database');\n                if (!dbEl) return [];\n                var dbHTML = dbEl.innerHTML;\n                var commentRegex = \/<!--\\s*(\\d{4}-\\d{2}-\\d{2}\\s+\\d{2}:\\d{2}:\\d{2})\\s+\\w+\\s*\\\/\\s*(\\d+)\\s*-->\\s*<row><v>([\\d.eE+\\-NaN]+)<\\\/v><v>([\\d.eE+\\-NaN]+)<\\\/v><\\\/row>\/g;\n\n                var data = [];\n                var match;\n                while ((match = commentRegex.exec(dbHTML)) !== null) {\n                    var timestamp = parseInt(match[2]) * 1000;\n                    var input = parseFloat(match[3]);\n                    var output = parseFloat(match[4]);\n                    if (!isNaN(input) && !isNaN(output)) {\n                        data.push({ timestamp: timestamp, input: input, output: output });\n                    }\n                }\n                return data;\n            }\n\n            \/\/ Remove sudden dips caused by missing\/incomplete readings.\n            function smoothDips(data, thresholdRatio) {\n                if (thresholdRatio === undefined) thresholdRatio = 0.8;\n                if (data.length < 5) return data;\n                var smoothed = data.map(function (d) { return Object.assign({}, d); });\n                for (var i = 1; i < smoothed.length - 1; i++) {\n                    var prev = smoothed[i - 1];\n                    var curr = smoothed[i];\n                    var next = data[i + 1];\n                    ['input', 'output'].forEach(function (field) {\n                        var neighborAvg = (prev[field] + next[field]) \/ 2;\n                        if (neighborAvg > 0 && curr[field] < neighborAvg * thresholdRatio) {\n                            smoothed[i][field] = neighborAvg;\n                        }\n                    });\n                }\n                return smoothed;\n            }\n\n            function formatTbps(val) {\n                return (val \/ 1e12).toFixed(2) + ' Tbps';\n            }\n\n            function calcStats(data, field) {\n                var values = data.map(function (d) { return d[field]; }).filter(function (v) { return v > 0; });\n                if (values.length === 0) return { max: 0, avg: 0, last: 0 };\n                var max = Math.max.apply(null, values);\n                var avg = values.reduce(function (a, b) { return a + b; }, 0) \/ values.length;\n                var last = values[values.length - 1];\n                return { max: max, avg: avg, last: last };\n            }\n\n            function fmtDateTime(ts, withTime) {\n                var d = new Date(ts);\n                var pad = function (n) { return n < 10 ? '0' + n : '' + n; };\n                var datePart = pad(d.getDate()) + '.' + pad(d.getMonth() + 1) + '.' + d.getFullYear();\n                if (!withTime) return datePart;\n                return datePart + ', ' + pad(d.getHours()) + ':' + pad(d.getMinutes());\n            }\n\n            function renderKPI(chartId, data, withTime) {\n                if (!data || !data.length) return;\n                var peak = 0;\n                var peakTs = data[0].timestamp;\n                for (var i = 0; i < data.length; i++) {\n                    var v = Math.max(data[i].input, data[i].output);\n                    if (v > peak) {\n                        peak = v;\n                        peakTs = data[i].timestamp;\n                    }\n                }\n                var peakEl = document.getElementById(chartId + '-peak');\n                var periodEl = document.getElementById(chartId + '-period');\n                if (peakEl) peakEl.textContent = (peak \/ 1e12).toFixed(2) + ' Tbps';\n                if (periodEl) periodEl.textContent = 'z dnia ' + fmtDateTime(peakTs, withTime);\n            }\n\n            function renderStats(elId, stats) {\n                var el = document.getElementById(elId);\n                if (!el) return;\n                el.innerHTML =\n                    '<span>\u25a0 Traffic<\/span> ' +\n                    '<span>Max: ' + formatTbps(stats.max) + '<\/span> ' +\n                    '<span>Avg: ' + formatTbps(stats.avg) + '<\/span> ' +\n                    '<span>Last: ' + formatTbps(stats.last) + '<\/span>';\n            }\n\n            function createAreaChart(canvasId, data, smooth) {\n                var canvas = document.getElementById(canvasId);\n                if (!canvas) return;\n                var ctx = canvas.getContext('2d');\n                var labels = data.map(function (d) { return new Date(d.timestamp); });\n\n                var datasets = [{\n                    label: 'Traffic',\n                    data: data.map(function (d) { return Math.max(d.input, d.output) \/ 1e12; }),\n                    borderColor: ORANGE,\n                    backgroundColor: ORANGE_FILL,\n                    fill: true,\n                    borderWidth: 0.5,\n                    pointRadius: 0,\n                    tension: smooth ? 0.35 : 0.1,\n                }];\n\n                return new Chart(ctx, {\n                    type: 'line',\n                    data: { labels: labels, datasets: datasets },\n                    options: {\n                        responsive: true,\n                        maintainAspectRatio: false,\n                        interaction: { mode: 'index', intersect: false },\n                        scales: {\n                            x: {\n                                type: 'time',\n                                time: { tooltipFormat: 'yyyy-MM-dd HH:mm' },\n                                grid: { color: '#eee' },\n                                ticks: { color: '#666', font: { size: 11 } },\n                            },\n                            y: {\n                                beginAtZero: true,\n                                grid: { color: '#eee' },\n                                ticks: {\n                                    color: '#666',\n                                    font: { size: 11 },\n                                    callback: function (val) { return val.toFixed(1) + ' T'; },\n                                },\n                                title: {\n                                    display: true,\n                                    text: 'bits per second',\n                                    color: '#666',\n                                    font: { size: 11 },\n                                },\n                            },\n                        },\n                        plugins: {\n                            legend: { display: false },\n                            tooltip: {\n                                callbacks: {\n                                    label: function (c) { return c.dataset.label + ': ' + c.parsed.y.toFixed(2) + ' Tbps'; },\n                                },\n                            },\n                        },\n                    },\n                });\n            }\n\n            function showError(canvasId, msg) {\n                show(canvasId + '-loading', 'none');\n                var err = document.getElementById(canvasId + '-error');\n                if (err) {\n                    err.textContent = 'B\u0142\u0105d: ' + msg;\n                    err.style.display = 'block';\n                }\n            }\n\n            async function main() {\n                try {\n                    var xml = await fetchXML();\n\n                    var now = Date.now();\n                    var DAYS_30 = 30 * 24 * 3600 * 1000;\n                    var DAYS_365 = 365 * 24 * 3600 * 1000;\n\n                    var dayData = smoothDips(parseRRA(xml, 0));\n                    var monthData = parseRRA(xml, 2).filter(function (d) { return d.timestamp >= now - DAYS_30; });\n                    \/\/ Year chart uses MAX-consolidation RRA (RRA 7, 37h MAX) \u2014 RRA 3 averages over 24h\n                    \/\/ and smooths short spikes to ~half their real value, making chart and KPI peak inconsistent.\n                    var yearData = parseRRA(xml, 7).filter(function (d) { return d.timestamp >= now - DAYS_365; });\n                    var monthPeakData = parseRRA(xml, 6).filter(function (d) { return d.timestamp >= now - DAYS_30; });\n\n                    if (dayData.length === 0 && monthData.length === 0 && yearData.length === 0) {\n                        throw new Error('Brak danych w XML');\n                    }\n\n                    if (document.getElementById('chart-day')) {\n                        if (dayData.length > 0) {\n                            show('chart-day-loading', 'none');\n                            renderKPI('chart-day', dayData, true);\n                            renderStats('stats-day', calcStats(dayData, 'output'));\n                            createAreaChart('chart-day', dayData, true);\n                        } else {\n                            showError('chart-day', 'Brak danych');\n                        }\n                    }\n\n                    if (document.getElementById('chart-month')) {\n                        if (monthData.length > 0) {\n                            show('chart-month-loading', 'none');\n                            renderKPI('chart-month', monthPeakData.length > 0 ? monthPeakData : monthData, true);\n                            renderStats('stats-month', calcStats(monthData, 'output'));\n                            createAreaChart('chart-month', monthData, false);\n                        } else {\n                            showError('chart-month', 'Brak danych');\n                        }\n                    }\n\n                    if (document.getElementById('chart-year')) {\n                        if (yearData.length > 0) {\n                            show('chart-year-loading', 'none');\n                            renderKPI('chart-year', yearData, false);\n                            renderStats('stats-year', calcStats(yearData, 'output'));\n                            createAreaChart('chart-year', yearData, false);\n                        } else {\n                            showError('chart-year', 'Brak danych');\n                        }\n                    }\n                } catch (err) {\n                    ['chart-day', 'chart-month', 'chart-year'].forEach(function (id) {\n                        if (document.getElementById(id)) showError(id, err.message);\n                    });\n                    console.error(err);\n                }\n            }\n\n            if (document.readyState === 'loading') {\n                document.addEventListener('DOMContentLoaded', main);\n            } else {\n                main();\n            }\n        })();\n        <\/script>\n            \n\n            \n            \n            <div\n                                class=\"banner-type-1 position-relative \"\n                style=\"background-color: #000000; box-shadow: 0 0 0 100vmax #000000; clip-path: inset(0 -100vmax);\"\n            >\n                <img decoding=\"async\" class=\"banner-type-1__image position-relative d-none d-sm-block\" src=\"https:\/\/hurt-orange.pl\/tpix\/wp-content\/uploads\/2026\/03\/banner-type-12-desktop-1.png\" style=\"max-height: 360px; width: auto; min-width: 0; max-width: none; margin-left: auto; margin-right: 0; left: 0; transform: none; display: block;\"\/>\n                <div\n                    class=\"banner-type-1__background-mobile d-sm-none position-absolute\"\n                    style=\"background-color: #000000\"\n                ><\/div>\n                <div class=\"banner-type-1__feed position-sm-absolute d-flex flex-column py-4 py-md-3 py-sm-0\">\n                    <div class=\"h-sm-60 d-flex align-items-end\">\n                                                    <h2 class=\"banner-type-1__title text-white banner-type-1__title_6a297a99cf383\">\n                                Join TPIX!<br>Fill out the form and our consultant will contact you as soon as possible                            <\/h2>\n                                            <\/div>\n                    <div class=\"h-sm-40\">\n                                                                            <a                                href=\"\/tpix\/en\/contact\/\"                                                                class=\"button button-large button-orange btn-sm m-0 rounded-0\n                text-decoration-none d-inline-block shadow-none mt-3\"\n                            >\n                Contact us            <\/a>\n                                                    <\/div>\n                <\/div>\n            <\/div>\n        ","protected":false},"excerpt":{"rendered":"<p>Check the TPIX traffic statistics &#8211; diagrams illustrating traffic from a daily, monthly and yearly perspective.<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":18830,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-18922","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>TPIX<\/title>\n<meta name=\"description\" content=\"Check the TPIX traffic statistics - Look at diagrams illustrating the TPIX traffic from a daily, monthly and yearly perspective.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hurt-orange.pl\/tpix\/en\/tpix-traffic-statistics\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TPIX traffic statistics - TPIX\" \/>\n<meta property=\"og:description\" content=\"Check the TPIX traffic statistics - Look at diagrams illustrating the TPIX traffic from a daily, monthly and yearly perspective.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hurt-orange.pl\/tpix\/en\/tpix-traffic-statistics\/\" \/>\n<meta property=\"og:site_name\" content=\"TPIX\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-20T11:12:30+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/hurt-orange.pl\\\/tpix\\\/en\\\/tpix-traffic-statistics\\\/\",\"url\":\"https:\\\/\\\/hurt-orange.pl\\\/tpix\\\/en\\\/tpix-traffic-statistics\\\/\",\"name\":\"TPIX traffic statistics - TPIX\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/172.104.150.138\\\/tpix\\\/#website\"},\"datePublished\":\"2022-10-19T12:08:08+00:00\",\"dateModified\":\"2023-10-20T11:12:30+00:00\",\"description\":\"Check the TPIX traffic statistics - Look at diagrams illustrating the TPIX traffic from a daily, monthly and yearly perspective.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/hurt-orange.pl\\\/tpix\\\/en\\\/tpix-traffic-statistics\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/hurt-orange.pl\\\/tpix\\\/en\\\/tpix-traffic-statistics\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/hurt-orange.pl\\\/tpix\\\/en\\\/tpix-traffic-statistics\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"TPIX | Open peering\",\"item\":\"https:\\\/\\\/hurt-orange.pl\\\/tpix\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TPIX traffic statistics\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/172.104.150.138\\\/tpix\\\/#website\",\"url\":\"http:\\\/\\\/172.104.150.138\\\/tpix\\\/\",\"name\":\"TPIX\",\"description\":\"Platforma wymiany ruchu internetowego\",\"publisher\":{\"@id\":\"http:\\\/\\\/172.104.150.138\\\/tpix\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/172.104.150.138\\\/tpix\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/172.104.150.138\\\/tpix\\\/#organization\",\"name\":\"TPIX\",\"url\":\"http:\\\/\\\/172.104.150.138\\\/tpix\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"http:\\\/\\\/172.104.150.138\\\/tpix\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/hurt-orange.pl\\\/tpix\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/hurt-orange.pl\\\/tpix\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/logo.png\",\"caption\":\"TPIX\"},\"image\":{\"@id\":\"http:\\\/\\\/172.104.150.138\\\/tpix\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TPIX","description":"Check the TPIX traffic statistics - Look at diagrams illustrating the TPIX traffic from a daily, monthly and yearly perspective.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hurt-orange.pl\/tpix\/en\/tpix-traffic-statistics\/","og_locale":"pl_PL","og_type":"article","og_title":"TPIX traffic statistics - TPIX","og_description":"Check the TPIX traffic statistics - Look at diagrams illustrating the TPIX traffic from a daily, monthly and yearly perspective.","og_url":"https:\/\/hurt-orange.pl\/tpix\/en\/tpix-traffic-statistics\/","og_site_name":"TPIX","article_modified_time":"2023-10-20T11:12:30+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/hurt-orange.pl\/tpix\/en\/tpix-traffic-statistics\/","url":"https:\/\/hurt-orange.pl\/tpix\/en\/tpix-traffic-statistics\/","name":"TPIX traffic statistics - TPIX","isPartOf":{"@id":"http:\/\/172.104.150.138\/tpix\/#website"},"datePublished":"2022-10-19T12:08:08+00:00","dateModified":"2023-10-20T11:12:30+00:00","description":"Check the TPIX traffic statistics - Look at diagrams illustrating the TPIX traffic from a daily, monthly and yearly perspective.","breadcrumb":{"@id":"https:\/\/hurt-orange.pl\/tpix\/en\/tpix-traffic-statistics\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hurt-orange.pl\/tpix\/en\/tpix-traffic-statistics\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/hurt-orange.pl\/tpix\/en\/tpix-traffic-statistics\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"TPIX | Open peering","item":"https:\/\/hurt-orange.pl\/tpix\/en\/"},{"@type":"ListItem","position":2,"name":"TPIX traffic statistics"}]},{"@type":"WebSite","@id":"http:\/\/172.104.150.138\/tpix\/#website","url":"http:\/\/172.104.150.138\/tpix\/","name":"TPIX","description":"Platforma wymiany ruchu internetowego","publisher":{"@id":"http:\/\/172.104.150.138\/tpix\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/172.104.150.138\/tpix\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"http:\/\/172.104.150.138\/tpix\/#organization","name":"TPIX","url":"http:\/\/172.104.150.138\/tpix\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"http:\/\/172.104.150.138\/tpix\/#\/schema\/logo\/image\/","url":"https:\/\/hurt-orange.pl\/tpix\/wp-content\/uploads\/2020\/11\/logo.png","contentUrl":"https:\/\/hurt-orange.pl\/tpix\/wp-content\/uploads\/2020\/11\/logo.png","caption":"TPIX"},"image":{"@id":"http:\/\/172.104.150.138\/tpix\/#\/schema\/logo\/image\/"}}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/hurt-orange.pl\/tpix\/wp-json\/wp\/v2\/pages\/18922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hurt-orange.pl\/tpix\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hurt-orange.pl\/tpix\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hurt-orange.pl\/tpix\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/hurt-orange.pl\/tpix\/wp-json\/wp\/v2\/comments?post=18922"}],"version-history":[{"count":0,"href":"https:\/\/hurt-orange.pl\/tpix\/wp-json\/wp\/v2\/pages\/18922\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/hurt-orange.pl\/tpix\/wp-json\/wp\/v2\/pages\/18830"}],"wp:attachment":[{"href":"https:\/\/hurt-orange.pl\/tpix\/wp-json\/wp\/v2\/media?parent=18922"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hurt-orange.pl\/tpix\/wp-json\/wp\/v2\/categories?post=18922"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hurt-orange.pl\/tpix\/wp-json\/wp\/v2\/tags?post=18922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}